home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / gcc_260.zip / gcc_260 / cp / parse.c < prev    next >
C/C++ Source or Header  |  1994-07-06  |  333KB  |  7,605 lines

  1.  
  2. /*  A Bison parser, made from parse.y with Bison version GNU Bison version 1.22
  3.   */
  4.  
  5. #define YYBISON 1  /* Identify Bison output.  */
  6.  
  7. #define    IDENTIFIER    258
  8. #define    TYPENAME    259
  9. #define    SCSPEC    260
  10. #define    TYPESPEC    261
  11. #define    TYPE_QUAL    262
  12. #define    CONSTANT    263
  13. #define    STRING    264
  14. #define    ELLIPSIS    265
  15. #define    SIZEOF    266
  16. #define    ENUM    267
  17. #define    IF    268
  18. #define    ELSE    269
  19. #define    WHILE    270
  20. #define    DO    271
  21. #define    FOR    272
  22. #define    SWITCH    273
  23. #define    CASE    274
  24. #define    DEFAULT    275
  25. #define    BREAK    276
  26. #define    CONTINUE    277
  27. #define    RETURN    278
  28. #define    GOTO    279
  29. #define    ASM_KEYWORD    280
  30. #define    GCC_ASM_KEYWORD    281
  31. #define    TYPEOF    282
  32. #define    ALIGNOF    283
  33. #define    HEADOF    284
  34. #define    CLASSOF    285
  35. #define    SIGOF    286
  36. #define    ATTRIBUTE    287
  37. #define    EXTENSION    288
  38. #define    LABEL    289
  39. #define    AGGR    290
  40. #define    VISSPEC    291
  41. #define    DELETE    292
  42. #define    NEW    293
  43. #define    OVERLOAD    294
  44. #define    THIS    295
  45. #define    OPERATOR    296
  46. #define    CXX_TRUE    297
  47. #define    CXX_FALSE    298
  48. #define    LEFT_RIGHT    299
  49. #define    TEMPLATE    300
  50. #define    TYPEID    301
  51. #define    DYNAMIC_CAST    302
  52. #define    STATIC_CAST    303
  53. #define    REINTERPRET_CAST    304
  54. #define    CONST_CAST    305
  55. #define    SCOPE    306
  56. #define    EMPTY    307
  57. #define    PTYPENAME    308
  58. #define    ASSIGN    309
  59. #define    OROR    310
  60. #define    ANDAND    311
  61. #define    MIN_MAX    312
  62. #define    EQCOMPARE    313
  63. #define    ARITHCOMPARE    314
  64. #define    LSHIFT    315
  65. #define    RSHIFT    316
  66. #define    POINTSAT_STAR    317
  67. #define    DOT_STAR    318
  68. #define    UNARY    319
  69. #define    PLUSPLUS    320
  70. #define    MINUSMINUS    321
  71. #define    HYPERUNARY    322
  72. #define    PAREN_STAR_PAREN    323
  73. #define    POINTSAT    324
  74. #define    TRY    325
  75. #define    CATCH    326
  76. #define    THROW    327
  77. #define    TYPENAME_ELLIPSIS    328
  78. #define    PRE_PARSED_FUNCTION_DECL    329
  79. #define    EXTERN_LANG_STRING    330
  80. #define    ALL    331
  81. #define    PRE_PARSED_CLASS_DECL    332
  82. #define    TYPENAME_DEFN    333
  83. #define    IDENTIFIER_DEFN    334
  84. #define    PTYPENAME_DEFN    335
  85. #define    END_OF_SAVED_INPUT    336
  86.  
  87. #line 42 "parse.y"
  88.  
  89. /* Cause the `yydebug' variable to be defined.  */
  90. #define YYDEBUG 1
  91.  
  92. #include "config.h"
  93.  
  94. #include <stdio.h>
  95. #include <errno.h>
  96.  
  97. #include "tree.h"
  98. #include "input.h"
  99. #include "flags.h"
  100. #include "lex.h"
  101. #include "cp-tree.h"
  102.  
  103. /* Since parsers are distinct for each language, put the language string
  104.    definition here.  (fnf) */
  105. char *language_string = "GNU C++";
  106.  
  107. extern tree void_list_node;
  108. extern struct obstack permanent_obstack;
  109.  
  110. #ifndef errno
  111. extern int errno;
  112. #endif
  113.  
  114. extern int end_of_file;
  115. extern int current_class_depth;
  116.  
  117. void yyerror ();
  118.  
  119. /* Like YYERROR but do call yyerror.  */
  120. #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
  121.  
  122. #define OP0(NODE) (TREE_OPERAND (NODE, 0))
  123. #define OP1(NODE) (TREE_OPERAND (NODE, 1))
  124.  
  125. /* Contains the statement keyword (if/while/do) to include in an
  126.    error message if the user supplies an empty conditional expression.  */
  127. static char *cond_stmt_keyword;
  128.  
  129. /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
  130. int have_extern_spec;
  131. int used_extern_spec;
  132.  
  133. void yyhook ();
  134.  
  135. /* Cons up an empty parameter list.  */
  136. #ifdef __GNUC__
  137. __inline
  138. #endif
  139. static tree
  140. empty_parms ()
  141. {
  142.   tree parms;
  143.  
  144.   if (strict_prototype)
  145.     parms = void_list_node;
  146.   else
  147.     parms = NULL_TREE;
  148.   return parms;
  149. }
  150.  
  151. #line 108 "parse.y"
  152. typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
  153. #line 276 "parse.y"
  154.  
  155. /* List of types and structure classes of the current declaration.  */
  156. static tree current_declspecs;
  157.  
  158. /* When defining an aggregate, this is the most recent one being defined.  */
  159. static tree current_aggr;
  160.  
  161. /* Tell yyparse how to print a token's value, if yydebug is set.  */
  162.  
  163. #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
  164. extern void yyprint ();
  165. extern tree combine_strings        PROTO((tree));
  166.  
  167. #ifndef YYLTYPE
  168. typedef
  169.   struct yyltype
  170.     {
  171.       int timestamp;
  172.       int first_line;
  173.       int first_column;
  174.       int last_line;
  175.       int last_column;
  176.       char *text;
  177.    }
  178.   yyltype;
  179.  
  180. #define YYLTYPE yyltype
  181. #endif
  182.  
  183. #include <stdio.h>
  184.  
  185. #ifndef __cplusplus
  186. #ifndef __STDC__
  187. #define const
  188. #endif
  189. #endif
  190.  
  191.  
  192.  
  193. #define    YYFINAL        1346
  194. #define    YYFLAG        -32768
  195. #define    YYNTBASE    106
  196.  
  197. #define YYTRANSLATE(x) ((unsigned)(x) <= 336 ? yytranslate[x] : 336)
  198.  
  199. static const char yytranslate[] = {     0,
  200.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  201.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  202.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  203.      2,     2,   104,     2,     2,     2,    77,    65,     2,    88,
  204.    102,    75,    73,    55,    74,    87,    76,     2,     2,     2,
  205.      2,     2,     2,     2,     2,     2,     2,    60,    56,    69,
  206.     58,    70,    59,     2,     2,     2,     2,     2,     2,     2,
  207.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  208.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  209.     89,     2,   105,    64,     2,     2,     2,     2,     2,     2,
  210.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  211.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  212.      2,     2,    54,    63,   103,    83,     2,     2,     2,     2,
  213.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  214.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  215.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  216.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  217.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  218.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  219.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  220.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  221.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  222.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  223.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  224.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  225.      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
  226.      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
  227.     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  228.     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
  229.     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
  230.     46,    47,    48,    49,    50,    51,    52,    53,    57,    61,
  231.     62,    66,    67,    68,    71,    72,    78,    79,    80,    81,
  232.     82,    84,    85,    86,    90,    91,    92,    93,    94,    95,
  233.     96,    97,    98,    99,   100,   101
  234. };
  235.  
  236. #if YYDEBUG != 0
  237. static const short yyprhs[] = {     0,
  238.      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
  239.     17,    20,    22,    24,    26,    28,    34,    39,    43,    48,
  240.     53,    55,    56,    62,    64,    68,    71,    76,    78,    82,
  241.     84,    88,    89,    95,    96,   102,   103,   109,   110,   116,
  242.    120,   124,   131,   139,   144,   148,   152,   154,   156,   158,
  243.    160,   162,   165,   169,   173,   177,   181,   184,   187,   190,
  244.    193,   196,   198,   202,   207,   211,   217,   222,   226,   230,
  245.    233,   237,   241,   244,   246,   253,   258,   262,   266,   269,
  246.    272,   274,   278,   283,   286,   290,   291,   292,   294,   298,
  247.    301,   305,   307,   312,   315,   320,   323,   328,   331,   333,
  248.    335,   337,   339,   341,   343,   345,   347,   351,   355,   360,
  249.    365,   369,   374,   379,   380,   382,   386,   388,   390,   391,
  250.    398,   399,   401,   402,   405,   407,   409,   411,   413,   415,
  251.    417,   419,   421,   425,   427,   431,   432,   434,   436,   437,
  252.    446,   448,   451,   456,   461,   463,   467,   471,   475,   479,
  253.    481,   483,   485,   486,   490,   493,   496,   499,   502,   505,
  254.    508,   513,   516,   521,   524,   528,   532,   537,   542,   548,
  255.    554,   561,   564,   569,   575,   579,   583,   587,   589,   593,
  256.    596,   600,   605,   607,   610,   616,   618,   623,   628,   633,
  257.    635,   639,   643,   647,   651,   655,   659,   663,   667,   671,
  258.    675,   679,   683,   687,   691,   695,   699,   703,   707,   711,
  259.    717,   721,   725,   727,   730,   734,   736,   738,   740,   742,
  260.    744,   746,   748,   751,   754,   756,   758,   760,   762,   764,
  261.    766,   768,   772,   776,   777,   782,   783,   790,   793,   798,
  262.    801,   804,   806,   811,   813,   821,   829,   837,   845,   850,
  263.    855,   858,   861,   863,   868,   871,   874,   877,   883,   887,
  264.    893,   897,   902,   909,   911,   914,   916,   919,   921,   923,
  265.    925,   928,   929,   932,   935,   939,   943,   947,   951,   955,
  266.    958,   961,   963,   965,   967,   970,   973,   976,   979,   981,
  267.    983,   985,   987,   990,   993,   997,  1001,  1006,  1008,  1011,
  268.   1014,  1016,  1018,  1021,  1024,  1026,  1029,  1032,  1036,  1038,
  269.   1041,  1043,  1045,  1047,  1052,  1057,  1062,  1067,  1069,  1071,
  270.   1073,  1075,  1079,  1081,  1085,  1087,  1091,  1092,  1097,  1098,
  271.   1106,  1111,  1112,  1120,  1125,  1126,  1134,  1139,  1140,  1148,
  272.   1153,  1154,  1156,  1158,  1161,  1168,  1170,  1174,  1175,  1177,
  273.   1182,  1189,  1194,  1196,  1198,  1200,  1202,  1204,  1208,  1210,
  274.   1213,  1217,  1222,  1224,  1226,  1230,  1235,  1242,  1246,  1252,
  275.   1253,  1261,  1266,  1267,  1274,  1278,  1281,  1284,  1289,  1291,
  276.   1292,  1294,  1295,  1297,  1299,  1302,  1305,  1308,  1311,  1315,
  277.   1318,  1321,  1324,  1328,  1332,  1334,  1337,  1338,  1339,  1343,
  278.   1347,  1350,  1352,  1354,  1355,  1357,  1360,  1362,  1366,  1368,
  279.   1371,  1373,  1378,  1383,  1385,  1387,  1390,  1393,  1395,  1396,
  280.   1398,  1403,  1407,  1409,  1412,  1415,  1418,  1421,  1424,  1427,
  281.   1430,  1433,  1438,  1441,  1443,  1449,  1453,  1454,  1456,  1460,
  282.   1461,  1463,  1467,  1469,  1471,  1473,  1475,  1480,  1487,  1492,
  283.   1497,  1504,  1509,  1513,  1518,  1525,  1530,  1535,  1542,  1547,
  284.   1551,  1553,  1557,  1559,  1563,  1566,  1568,  1575,  1576,  1579,
  285.   1581,  1584,  1585,  1588,  1592,  1596,  1599,  1602,  1606,  1608,
  286.   1610,  1612,  1615,  1621,  1627,  1631,  1637,  1642,  1646,  1650,
  287.   1653,  1655,  1659,  1663,  1666,  1669,  1673,  1675,  1679,  1683,
  288.   1686,  1689,  1693,  1695,  1701,  1707,  1711,  1717,  1721,  1725,
  289.   1730,  1734,  1737,  1740,  1742,  1745,  1750,  1755,  1758,  1760,
  290.   1762,  1764,  1767,  1770,  1773,  1775,  1778,  1780,  1783,  1786,
  291.   1790,  1792,  1796,  1799,  1803,  1806,  1809,  1813,  1815,  1819,
  292.   1824,  1828,  1831,  1834,  1836,  1840,  1843,  1846,  1848,  1851,
  293.   1855,  1857,  1861,  1863,  1869,  1873,  1878,  1882,  1887,  1890,
  294.   1893,  1897,  1900,  1902,  1904,  1907,  1910,  1913,  1914,  1915,
  295.   1917,  1919,  1922,  1926,  1928,  1931,  1935,  1941,  1948,  1954,
  296.   1955,  1956,  1963,  1965,  1968,  1970,  1972,  1974,  1977,  1978,
  297.   1983,  1985,  1986,  1987,  1994,  1995,  1996,  2004,  2005,  2006,
  298.   2007,  2018,  2019,  2020,  2021,  2032,  2033,  2041,  2042,  2048,
  299.   2049,  2057,  2058,  2063,  2066,  2069,  2072,  2076,  2083,  2092,
  300.   2103,  2116,  2121,  2125,  2128,  2131,  2133,  2135,  2136,  2137,
  301.   2145,  2147,  2150,  2153,  2154,  2155,  2161,  2163,  2165,  2169,
  302.   2173,  2176,  2179,  2183,  2188,  2193,  2197,  2202,  2209,  2216,
  303.   2217,  2219,  2220,  2222,  2224,  2225,  2227,  2229,  2233,  2238,
  304.   2240,  2244,  2245,  2247,  2249,  2251,  2254,  2257,  2260,  2262,
  305.   2264,  2267,  2270,  2273,  2276,  2278,  2282,  2285,  2290,  2293,
  306.   2298,  2301,  2304,  2307,  2310,  2313,  2316,  2318,  2321,  2323,
  307.   2325,  2326,  2327,  2329,  2330,  2335,  2337,  2339,  2343,  2344,
  308.   2348,  2352,  2356,  2358,  2361,  2364,  2367,  2370,  2373,  2376,
  309.   2379,  2382,  2385,  2388,  2391,  2394,  2397,  2400,  2403,  2406,
  310.   2409,  2412,  2415,  2418,  2421,  2424,  2427,  2431,  2434,  2437,
  311.   2440,  2443,  2447,  2450,  2453,  2458,  2463,  2467
  312. };
  313.  
  314. static const short yyrhs[] = {    -1,
  315.    107,     0,     0,   108,   112,     0,   107,   112,     0,     0,
  316.      0,    25,     0,    26,     0,     0,   113,   114,     0,   129,
  317.      0,   128,     0,   122,     0,   120,     0,   111,    88,   179,
  318.    102,    56,     0,   115,    54,   107,   103,     0,   115,    54,
  319.    103,     0,   115,   109,   129,   110,     0,   115,   109,   128,
  320.    110,     0,    95,     0,     0,    45,    69,   117,   118,    70,
  321.      0,   119,     0,   118,    55,   119,     0,   220,   138,     0,
  322.    220,   140,    60,   232,     0,   327,     0,    39,   121,    56,
  323.      0,     3,     0,   121,    55,     3,     0,     0,   116,   222,
  324.     54,   123,    56,     0,     0,   116,   223,    54,   124,    56,
  325.      0,     0,   116,   222,    60,   125,    56,     0,     0,   116,
  326.    223,    60,   126,    56,     0,   116,   222,    56,     0,   116,
  327.    223,    56,     0,   116,   258,   330,   197,   206,   127,     0,
  328.    116,   186,   183,   330,   197,   206,   127,     0,   116,   189,
  329.    258,   127,     0,   116,     1,   103,     0,   116,     1,    56,
  330.      0,    54,     0,    60,     0,    56,     0,    58,     0,    23,
  331.      0,   196,    56,     0,   189,   195,    56,     0,   189,   258,
  332.     56,     0,   186,   194,    56,     0,   186,   183,    56,     0,
  333.    189,    56,     0,   141,    56,     0,   186,    56,     0,     1,
  334.     56,     0,     1,   103,     0,    56,     0,   130,   134,   282,
  335.      0,   130,   133,   134,   282,     0,   130,   180,   282,     0,
  336.    130,   133,    56,   180,   282,     0,   130,   133,   180,   282,
  337.      0,   186,   183,     1,     0,   189,   258,     1,     0,   258,
  338.      1,     0,   186,   183,   330,     0,   189,   258,   330,     0,
  339.    258,   330,     0,    94,     0,   186,    88,   322,   102,   250,
  340.    330,     0,   186,    44,   250,   330,     0,   186,   183,   330,
  341.      0,   189,   258,   330,     0,   258,   330,     0,    23,     3,
  342.      0,   132,     0,   132,    58,   213,     0,   132,    88,   160,
  343.    102,     0,   132,    44,     0,    60,   135,   136,     0,     0,
  344.      0,   137,     0,   136,    55,   137,     0,   136,     1,     0,
  345.     88,   160,   102,     0,    44,     0,   139,    88,   160,   102,
  346.      0,   139,    44,     0,   268,    88,   160,   102,     0,   268,
  347.     44,     0,   262,    88,   160,   102,     0,   262,    44,     0,
  348.      3,     0,     4,     0,    53,     0,     3,     0,    53,     0,
  349.     99,     0,    98,     0,   100,     0,    45,   221,   149,     0,
  350.     45,   186,   183,     0,     5,    45,   221,   149,     0,     5,
  351.     45,   186,   183,     0,   143,   144,   149,     0,    53,    69,
  352.    145,    70,     0,     4,    69,   145,    70,     0,     0,   146,
  353.      0,   145,    55,   146,     0,   185,     0,   168,     0,     0,
  354.     97,   229,   148,   234,   235,   103,     0,     0,   147,     0,
  355.      0,   147,   150,     0,    74,     0,    73,     0,    81,     0,
  356.     82,     0,   104,     0,   159,     0,   168,     0,    44,     0,
  357.     88,   152,   102,     0,    44,     0,    88,   156,   102,     0,
  358.      0,   156,     0,     1,     0,     0,   311,   183,   330,   197,
  359.    206,    58,   157,   213,     0,   152,     0,    54,   103,     0,
  360.     54,   279,   276,   103,     0,    54,   279,     1,   103,     0,
  361.    289,     0,   168,    55,   168,     0,   168,    55,     1,     0,
  362.    159,    55,   168,     0,   159,    55,     1,     0,   168,     0,
  363.    159,     0,   173,     0,     0,    33,   162,   166,     0,    75,
  364.    166,     0,    65,   166,     0,    83,   166,     0,   151,   166,
  365.      0,    62,   138,     0,    11,   161,     0,    11,    88,   185,
  366.    102,     0,    28,   161,     0,    28,    88,   185,   102,     0,
  367.    176,   249,     0,   176,   249,   164,     0,   176,   163,   249,
  368.      0,   176,   163,   249,   164,     0,   176,    88,   185,   102,
  369.      0,   176,    88,   185,   102,   164,     0,   176,   163,    88,
  370.    185,   102,     0,   176,   163,    88,   185,   102,   164,     0,
  371.    177,   166,     0,   177,    89,   105,   166,     0,   177,    89,
  372.    152,   105,   166,     0,    88,   160,   102,     0,    54,   160,
  373.    103,     0,    88,   160,   102,     0,    44,     0,    88,   192,
  374.    102,     0,    58,   213,     0,    88,   185,   102,     0,   165,
  375.     88,   185,   102,     0,   167,     0,   165,   167,     0,   165,
  376.     54,   214,   218,   103,     0,   161,     0,    29,    88,   152,
  377.    102,     0,    30,    88,   152,   102,     0,    30,    88,     4,
  378.    102,     0,   166,     0,   168,    78,   168,     0,   168,    79,
  379.    168,     0,   168,    73,   168,     0,   168,    74,   168,     0,
  380.    168,    75,   168,     0,   168,    76,   168,     0,   168,    77,
  381.    168,     0,   168,    71,   168,     0,   168,    72,   168,     0,
  382.    168,    68,   168,     0,   168,    69,   168,     0,   168,    70,
  383.    168,     0,   168,    67,   168,     0,   168,    66,   168,     0,
  384.    168,    65,   168,     0,   168,    63,   168,     0,   168,    64,
  385.    168,     0,   168,    62,   168,     0,   168,    61,   168,     0,
  386.    168,    59,   317,    60,   168,     0,   168,    58,   168,     0,
  387.    168,    57,   168,     0,    92,     0,    92,   168,     0,    83,
  388.    328,   138,     0,   335,     0,     3,     0,    53,     0,   169,
  389.      0,     4,     0,   169,     0,   262,     0,    75,   171,     0,
  390.     65,   171,     0,   260,     0,   169,     0,   262,     0,   169,
  391.      0,     8,     0,   178,     0,   179,     0,    88,   152,   102,
  392.      0,    88,     1,   102,     0,     0,    88,   174,   283,   102,
  393.      0,     0,   173,    88,   160,   102,   175,   150,     0,   173,
  394.     44,     0,   173,    89,   152,   105,     0,   173,    81,     0,
  395.    173,    82,     0,    40,     0,     7,    88,   160,   102,     0,
  396.    264,     0,    47,    69,   185,    70,    88,   152,   102,     0,
  397.     48,    69,   185,    70,    88,   152,   102,     0,    49,    69,
  398.    185,    70,    88,   152,   102,     0,    50,    69,   185,    70,
  399.     88,   152,   102,     0,    46,    88,   152,   102,     0,    46,
  400.     88,   185,   102,     0,   271,     3,     0,   271,   335,     0,
  401.    263,     0,   263,    88,   160,   102,     0,   263,    44,     0,
  402.    181,   170,     0,   181,   261,     0,   181,   170,    88,   160,
  403.    102,     0,   181,   170,    44,     0,   181,   261,    88,   160,
  404.    102,     0,   181,   261,    44,     0,   181,    83,     6,    44,
  405.      0,   181,     6,    51,    83,     6,    44,     0,    38,     0,
  406.    271,    38,     0,    37,     0,   271,   177,     0,    42,     0,
  407.     43,     0,     9,     0,   179,     9,     0,     0,   173,    87,
  408.      0,   173,    86,     0,   192,   183,    56,     0,   186,   183,
  409.     56,     0,   192,   194,    56,     0,   186,   194,    56,     0,
  410.    189,   195,    56,     0,   186,    56,     0,   189,    56,     0,
  411.    254,     0,   258,     0,    44,     0,   184,    44,     0,   190,
  412.    274,     0,   251,   274,     0,   192,   274,     0,   190,     0,
  413.    251,     0,   190,     0,   187,     0,   189,   192,     0,   192,
  414.    188,     0,   189,   192,   188,     0,   189,   192,   191,     0,
  415.    189,   192,   191,   188,     0,     5,     0,   188,   193,     0,
  416.    188,     5,     0,   251,     0,     5,     0,   189,     7,     0,
  417.    189,     5,     0,   192,     0,   251,   192,     0,   192,   191,
  418.      0,   251,   192,   191,     0,   193,     0,   191,   193,     0,
  419.    215,     0,     6,     0,   268,     0,    27,    88,   152,   102,
  420.      0,    27,    88,   185,   102,     0,    31,    88,   152,   102,
  421.      0,    31,    88,   185,   102,     0,     6,     0,     7,     0,
  422.    215,     0,   198,     0,   194,    55,   200,     0,   202,     0,
  423.    195,    55,   200,     0,   204,     0,   196,    55,   200,     0,
  424.      0,   111,    88,   179,   102,     0,     0,   183,   330,   197,
  425.    206,    58,   199,   213,     0,   183,   330,   197,   206,     0,
  426.      0,   183,   330,   197,   206,    58,   201,   213,     0,   183,
  427.    330,   197,   206,     0,     0,   258,   330,   197,   206,    58,
  428.    203,   213,     0,   258,   330,   197,   206,     0,     0,   258,
  429.    330,   197,   206,    58,   205,   213,     0,   258,   330,   197,
  430.    206,     0,     0,   207,     0,   208,     0,   207,   208,     0,
  431.     32,    88,    88,   209,   102,   102,     0,   210,     0,   209,
  432.     55,   210,     0,     0,   211,     0,   211,    88,     3,   102,
  433.      0,   211,    88,     3,    55,   160,   102,     0,   211,    88,
  434.    160,   102,     0,   138,     0,     5,     0,     6,     0,     7,
  435.      0,   138,     0,   212,    55,   138,     0,   168,     0,    54,
  436.    103,     0,    54,   214,   103,     0,    54,   214,    55,   103,
  437.      0,     1,     0,   213,     0,   214,    55,   213,     0,    89,
  438.    168,   105,   213,     0,   214,    55,    19,   168,    60,   213,
  439.      0,   138,    60,   213,     0,   214,    55,   138,    60,   213,
  440.      0,     0,    12,   138,    54,   216,   247,   219,   103,     0,
  441.     12,   138,    54,   103,     0,     0,    12,    54,   217,   247,
  442.    219,   103,     0,    12,    54,   103,     0,    12,   138,     0,
  443.     12,   269,     0,   228,   234,   235,   103,     0,   228,     0,
  444.      0,    55,     0,     0,    55,     0,    35,     0,   220,     5,
  445.      0,   220,     6,     0,   220,     7,     0,   220,    35,     0,
  446.    220,   143,    56,     0,   220,   138,     0,   220,   269,     0,
  447.    220,   142,     0,   220,   143,    54,     0,   220,   143,    60,
  448.      0,   221,     0,   220,   140,     0,     0,     0,   222,   224,
  449.    229,     0,   223,   225,   229,     0,   220,    54,     0,   227,
  450.      0,   226,     0,     0,    60,     0,    60,   230,     0,   231,
  451.      0,   230,    55,   231,     0,   232,     0,   233,   232,     0,
  452.    268,     0,    31,    88,   152,   102,     0,    31,    88,   185,
  453.    102,     0,    36,     0,     5,     0,   233,    36,     0,   233,
  454.      5,     0,    54,     0,     0,   236,     0,   235,    36,    60,
  455.    236,     0,   235,    36,    60,     0,   237,     0,   236,   237,
  456.      0,   236,    56,     0,   238,    56,     0,   238,   103,     0,
  457.    131,    60,     0,   131,    54,     0,   186,   239,     0,   189,
  458.    240,     0,   258,   330,   197,   206,     0,    60,   168,     0,
  459.      1,     0,   186,    88,   322,   102,   250,     0,   186,    44,
  460.    250,     0,     0,   241,     0,   239,    55,   242,     0,     0,
  461.    244,     0,   240,    55,   246,     0,   243,     0,   244,     0,
  462.    245,     0,   246,     0,   254,   330,   197,   206,     0,   254,
  463.    330,   197,   206,    58,   213,     0,     4,    60,   168,   206,
  464.      0,   258,   330,   197,   206,     0,   258,   330,   197,   206,
  465.     58,   213,     0,     3,    60,   168,   206,     0,    60,   168,
  466.    206,     0,   254,   330,   197,   206,     0,   254,   330,   197,
  467.    206,    58,   213,     0,     4,    60,   168,   206,     0,   258,
  468.    330,   197,   206,     0,   258,   330,   197,   206,    58,   213,
  469.      0,     3,    60,   168,   206,     0,    60,   168,   206,     0,
  470.    248,     0,   247,    55,   248,     0,   138,     0,   138,    58,
  471.    168,     0,   311,   272,     0,   311,     0,    88,   185,   102,
  472.     89,   152,   105,     0,     0,   250,     7,     0,     7,     0,
  473.    251,     7,     0,     0,   253,   152,     0,    75,   251,   254,
  474.      0,    65,   251,   254,     0,    75,   254,     0,    65,   254,
  475.      0,   270,   250,   254,     0,   257,     0,   265,     0,   256,
  476.      0,   266,   265,     0,   257,    88,   160,   102,   250,     0,
  477.    257,    88,   322,   102,   250,     0,   257,    44,   250,     0,
  478.    257,    88,     1,   102,   250,     0,   257,    89,   252,   105,
  479.      0,   257,    89,   105,     0,    88,   254,   102,     0,   266,
  480.    265,     0,   265,     0,    75,   251,   258,     0,    65,   251,
  481.    258,     0,    75,   258,     0,    65,   258,     0,   270,   250,
  482.    258,     0,   172,     0,    75,   251,   258,     0,    65,   251,
  483.    258,     0,    75,   259,     0,    65,   259,     0,   270,   250,
  484.    258,     0,   260,     0,   172,    88,   160,   102,   250,     0,
  485.    172,    88,   322,   102,   250,     0,   172,    44,   250,     0,
  486.    172,    88,     1,   102,   250,     0,    88,   171,   102,     0,
  487.     88,   259,   102,     0,   172,    89,   252,   105,     0,   172,
  488.     89,   105,     0,   266,   170,     0,   266,   169,     0,   262,
  489.      0,   271,   262,     0,   192,    88,   160,   102,     0,   192,
  490.     88,   171,   102,     0,   192,   184,     0,     4,     0,   142,
  491.      0,   267,     0,   266,   267,     0,     4,    51,     0,   142,
  492.     51,     0,   255,     0,   271,   255,     0,   256,     0,   271,
  493.    255,     0,   266,    75,     0,   271,   266,    75,     0,    51,
  494.      0,    75,   250,   272,     0,    75,   250,     0,    65,   250,
  495.    272,     0,    65,   250,     0,   270,   250,     0,   270,   250,
  496.    272,     0,   273,     0,    89,   152,   105,     0,   273,    89,
  497.    252,   105,     0,    75,   251,   274,     0,    75,   274,     0,
  498.     75,   251,     0,    75,     0,    65,   251,   274,     0,    65,
  499.    274,     0,    65,   251,     0,    65,     0,   270,   250,     0,
  500.    270,   250,   274,     0,   275,     0,    88,   274,   102,     0,
  501.     85,     0,   275,    88,   322,   102,   250,     0,   275,    44,
  502.    250,     0,   275,    89,   252,   105,     0,   275,    89,   105,
  503.      0,    88,   323,   102,   250,     0,   165,   250,     0,   184,
  504.    250,     0,    89,   252,   105,     0,    89,   105,     0,   288,
  505.      0,   277,     0,   276,   288,     0,   276,   277,     0,     1,
  506.     56,     0,     0,     0,   280,     0,   281,     0,   280,   281,
  507.      0,    34,   212,    56,     0,   283,     0,     1,   283,     0,
  508.     54,   278,   103,     0,    54,   278,   279,   276,   103,     0,
  509.     54,   278,   279,   276,     1,   103,     0,    54,   278,   279,
  510.      1,   103,     0,     0,     0,    13,   285,   278,   154,   286,
  511.    287,     0,   283,     0,   278,   289,     0,   283,     0,   289,
  512.      0,   182,     0,   152,    56,     0,     0,   284,    14,   290,
  513.    287,     0,   284,     0,     0,     0,    15,   291,   278,   154,
  514.    292,   158,     0,     0,     0,    16,   293,   287,    15,   294,
  515.    153,    56,     0,     0,     0,     0,   314,   295,   278,   155,
  516.     56,   296,   317,   102,   297,   158,     0,     0,     0,     0,
  517.    315,   298,   278,   155,    56,   299,   317,   102,   300,   158,
  518.      0,     0,    18,   278,    88,   156,   102,   301,   287,     0,
  519.      0,    19,   168,    60,   302,   288,     0,     0,    19,   168,
  520.     10,   168,    60,   303,   288,     0,     0,    20,    60,   304,
  521.    288,     0,    21,    56,     0,    22,    56,     0,    23,    56,
  522.      0,    23,   152,    56,     0,   111,   316,    88,   179,   102,
  523.     56,     0,   111,   316,    88,   179,    60,   318,   102,    56,
  524.      0,   111,   316,    88,   179,    60,   318,    60,   318,   102,
  525.     56,     0,   111,   316,    88,   179,    60,   318,    60,   318,
  526.     60,   321,   102,    56,     0,    24,    75,   152,    56,     0,
  527.     24,   138,    56,     0,   313,   288,     0,   313,   103,     0,
  528.     56,     0,   305,     0,     0,     0,    90,    54,   278,   306,
  529.    308,   307,   309,     0,   103,     0,   276,   103,     0,     1,
  530.    103,     0,     0,     0,   309,    91,   310,   312,   283,     0,
  531.    190,     0,   251,     0,    88,    10,   102,     0,    88,   327,
  532.    102,     0,     3,    60,     0,    53,    60,     0,    17,    88,
  533.     56,     0,    17,    88,   152,    56,     0,    17,    88,    54,
  534.    103,     0,    17,    88,   182,     0,    17,    88,     1,    56,
  535.      0,    17,    88,    54,   278,   276,   103,     0,    17,    88,
  536.     54,   278,     1,   103,     0,     0,     7,     0,     0,   152,
  537.      0,     1,     0,     0,   319,     0,   320,     0,   319,    55,
  538.    320,     0,     9,    88,   152,   102,     0,     9,     0,   321,
  539.     55,     9,     0,     0,   323,     0,   185,     0,   324,     0,
  540.    325,    10,     0,   324,    10,     0,   185,    10,     0,    10,
  541.      0,    93,     0,   324,    93,     0,   185,    93,     0,   324,
  542.     60,     0,   185,    60,     0,   326,     0,   327,    58,   213,
  543.      0,   325,   327,     0,   325,   327,    58,   213,     0,   325,
  544.    329,     0,   325,   329,    58,   213,     0,   324,    55,     0,
  545.    185,    55,     0,   187,   183,     0,   190,   183,     0,   192,
  546.    183,     0,   187,   274,     0,   187,     0,   189,   258,     0,
  547.    326,     0,   185,     0,     0,     0,   258,     0,     0,    92,
  548.     88,   332,   102,     0,   185,     0,   331,     0,   332,    55,
  549.    331,     0,     0,    75,   250,   333,     0,    65,   250,   333,
  550.      0,   270,   250,   333,     0,    41,     0,   334,    75,     0,
  551.    334,    76,     0,   334,    77,     0,   334,    73,     0,   334,
  552.     74,     0,   334,    65,     0,   334,    63,     0,   334,    64,
  553.      0,   334,    83,     0,   334,    55,     0,   334,    68,     0,
  554.    334,    69,     0,   334,    70,     0,   334,    67,     0,   334,
  555.     57,     0,   334,    58,     0,   334,    71,     0,   334,    72,
  556.      0,   334,    81,     0,   334,    82,     0,   334,    62,     0,
  557.    334,    61,     0,   334,   104,     0,   334,    59,    60,     0,
  558.    334,    66,     0,   334,    86,     0,   334,    78,     0,   334,
  559.     44,     0,   334,    89,   105,     0,   334,    38,     0,   334,
  560.     37,     0,   334,    38,    89,   105,     0,   334,    37,    89,
  561.    105,     0,   334,   311,   333,     0,   334,     1,     0
  562. };
  563.  
  564. #endif
  565.  
  566. #if YYDEBUG != 0
  567. static const short yyrline[] = { 0,
  568.    291,   292,   306,   308,   309,   313,   318,   322,   324,   327,
  569.    330,   334,   337,   339,   341,   342,   345,   347,   349,   352,
  570.    357,   362,   365,   369,   372,   376,   392,   401,   404,   409,
  571.    411,   415,   421,   421,   424,   424,   427,   427,   442,   442,
  572.    447,   452,   469,   492,   502,   503,   506,   507,   508,   509,
  573.    510,   513,   516,   519,   524,   529,   535,   537,   538,   557,
  574.    558,   559,   562,   576,   589,   592,   595,   598,   600,   602,
  575.    606,   612,   617,   622,   629,   640,   647,   649,   651,   655,
  576.    663,   665,   667,   669,   673,   686,   709,   712,   714,   715,
  577.    718,   724,   730,   732,   734,   736,   739,   743,   749,   751,
  578.    752,   755,   757,   760,   762,   763,   766,   769,   771,   773,
  579.    777,   782,   785,   789,   794,   797,   801,   804,   807,   841,
  580.    857,   860,   864,   867,   871,   873,   875,   877,   879,   883,
  581.    885,   888,   893,   897,   902,   906,   909,   910,   914,   933,
  582.    940,   943,   946,   948,   950,   954,   958,   961,   963,   967,
  583.    970,   973,   982,   985,   988,   990,   992,   994,  1001,  1012,
  584.   1032,  1034,  1036,  1041,  1043,  1045,  1047,  1049,  1052,  1054,
  585.   1056,  1059,  1061,  1065,  1071,  1074,  1081,  1084,  1086,  1094,
  586.   1103,  1109,  1115,  1117,  1119,  1132,  1134,  1136,  1138,  1155,
  587.   1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,  1174,  1176,
  588.   1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
  589.   1198,  1200,  1207,  1209,  1226,  1229,  1230,  1231,  1234,  1236,
  590.   1239,  1241,  1242,  1244,  1248,  1250,  1251,  1256,  1276,  1277,
  591.   1278,  1280,  1282,  1284,  1292,  1313,  1318,  1325,  1332,  1334,
  592.   1343,  1348,  1371,  1415,  1416,  1419,  1422,  1425,  1428,  1430,
  593.   1433,  1472,  1479,  1481,  1483,  1485,  1487,  1489,  1504,  1519,
  594.   1530,  1542,  1549,  1598,  1600,  1604,  1606,  1610,  1613,  1618,
  595.   1620,  1624,  1637,  1638,  1644,  1655,  1663,  1669,  1674,  1676,
  596.   1681,  1688,  1690,  1694,  1698,  1704,  1707,  1709,  1711,  1713,
  597.   1721,  1723,  1725,  1728,  1730,  1732,  1734,  1739,  1745,  1747,
  598.   1758,  1761,  1763,  1766,  1781,  1784,  1786,  1788,  1792,  1795,
  599.   1803,  1804,  1805,  1806,  1810,  1814,  1828,  1846,  1847,  1848,
  600.   1851,  1853,  1856,  1858,  1861,  1863,  1866,  1869,  1873,  1890,
  601.   1892,  1910,  1916,  1917,  1923,  1931,  1933,  1942,  1950,  1952,
  602.   1963,  1966,  1970,  1973,  1977,  1982,  1985,  1989,  1992,  1994,
  603.   1996,  1998,  2005,  2007,  2008,  2009,  2013,  2016,  2020,  2022,
  604.   2025,  2028,  2031,  2037,  2040,  2043,  2045,  2047,  2049,  2053,
  605.   2057,  2061,  2064,  2067,  2071,  2074,  2076,  2080,  2131,  2146,
  606.   2148,  2151,  2153,  2157,  2158,  2160,  2162,  2164,  2168,  2177,
  607.   2180,  2182,  2184,  2190,  2192,  2195,  2200,  2203,  2206,  2215,
  608.   2226,  2231,  2231,  2233,  2236,  2238,  2242,  2244,  2248,  2276,
  609.   2307,  2309,  2331,  2355,  2357,  2361,  2387,  2396,  2424,  2427,
  610.   2434,  2445,  2454,  2458,  2471,  2474,  2476,  2481,  2483,  2487,
  611.   2495,  2499,  2502,  2504,  2515,  2520,  2528,  2531,  2532,  2543,
  612.   2546,  2547,  2558,  2560,  2563,  2565,  2568,  2573,  2577,  2583,
  613.   2588,  2592,  2596,  2602,  2606,  2609,  2614,  2618,  2621,  2624,
  614.   2633,  2635,  2639,  2642,  2647,  2650,  2654,  2663,  2666,  2670,
  615.   2673,  2681,  2683,  2688,  2691,  2693,  2695,  2697,  2701,  2704,
  616.   2718,  2721,  2726,  2729,  2731,  2733,  2735,  2737,  2739,  2741,
  617.   2745,  2751,  2754,  2756,  2758,  2760,  2764,  2767,  2770,  2772,
  618.   2774,  2776,  2780,  2783,  2786,  2788,  2790,  2792,  2794,  2796,
  619.   2798,  2802,  2808,  2814,  2816,  2820,  2823,  2825,  2829,  2831,
  620.   2834,  2836,  2842,  2845,  2859,  2861,  2865,  2867,  2871,  2874,
  621.   2880,  2886,  2889,  2891,  2893,  2895,  2899,  2903,  2907,  2910,
  622.   2915,  2918,  2920,  2922,  2924,  2926,  2928,  2930,  2932,  2936,
  623.   2940,  2944,  2948,  2949,  2951,  2953,  2955,  2957,  2959,  2961,
  624.   2963,  2965,  2973,  2975,  2976,  2977,  2980,  2987,  2997,  2999,
  625.   3004,  3006,  3009,  3023,  3026,  3029,  3033,  3037,  3041,  3047,
  626.   3050,  3054,  3056,  3059,  3065,  3068,  3071,  3074,  3087,  3090,
  627.   3095,  3101,  3106,  3109,  3114,  3118,  3121,  3127,  3132,  3135,
  628.   3140,  3149,  3153,  3156,  3162,  3172,  3179,  3185,  3210,  3210,
  629.   3242,  3242,  3258,  3258,  3262,  3266,  3269,  3274,  3281,  3290,
  630.   3299,  3308,  3311,  3317,  3319,  3323,  3325,  3328,  3332,  3335,
  631.   3338,  3346,  3350,  3356,  3358,  3360,  3364,  3366,  3369,  3382,
  632.   3387,  3395,  3399,  3402,  3404,  3408,  3411,  3413,  3415,  3421,
  633.   3425,  3429,  3432,  3433,  3439,  3441,  3444,  3446,  3450,  3455,
  634.   3458,  3468,  3475,  3476,  3483,  3489,  3494,  3498,  3503,  3510,
  635.   3514,  3518,  3523,  3534,  3548,  3551,  3553,  3555,  3557,  3559,
  636.   3563,  3565,  3573,  3590,  3592,  3594,  3596,  3598,  3602,  3604,
  637.   3607,  3629,  3635,  3642,  3645,  3649,  3654,  3656,  3663,  3666,
  638.   3668,  3670,  3676,  3680,  3683,  3685,  3687,  3689,  3691,  3693,
  639.   3695,  3697,  3699,  3701,  3703,  3705,  3707,  3709,  3711,  3713,
  640.   3715,  3717,  3719,  3721,  3723,  3725,  3727,  3729,  3731,  3733,
  641.   3735,  3737,  3739,  3741,  3743,  3745,  3748,  3750
  642. };
  643.  
  644. static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
  645. "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
  646. "ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE",
  647. "RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
  648. "CLASSOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE",
  649. "NEW","OVERLOAD","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","LEFT_RIGHT","TEMPLATE",
  650. "TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST","CONST_CAST","SCOPE",
  651. "EMPTY","PTYPENAME","'{'","','","';'","ASSIGN","'='","'?'","':'","OROR","ANDAND",
  652. "'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT",
  653. "RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS",
  654. "MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['",
  655. "TRY","CATCH","THROW","TYPENAME_ELLIPSIS","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
  656. "ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
  657. "END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs","@1",".hush_warning",
  658. ".warning_ok","asm_keyword","lang_extdef","@2","extdef","extern_lang_string",
  659. "template_header","@3","template_parm_list","template_parm","overloaddef","ov_identifiers",
  660. "template_def","@4","@5","@6","@7","fn_tmpl_end","datadef","fndef","fn.def1",
  661. "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
  662. "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
  663. "template_type","template_type_name","tmpl.2","template_arg_list","template_arg",
  664. "template_instantiate_once","@8","template_instantiation","template_instantiate_some",
  665. "unop","expr","paren_expr_or_null","paren_cond_or_null","xcond","condition",
  666. "@9","already_scoped_stmt","nontrivial_exprlist","nonnull_exprlist","unary_expr",
  667. "@10","new_placement","new_initializer","regcast_or_absdcl","cast_expr","sub_cast_expr",
  668. "expr_no_commas","notype_unqualified_id","unqualified_id","expr_or_declarator",
  669. "direct_notype_declarator","primary","@11","@12","new","delete","boolean.literal",
  670. "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
  671. "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
  672. "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
  673. "nomods_initdecls","maybeasm","initdcl0","@13","initdcl","@14","notype_initdcl0",
  674. "@15","nomods_initdcl0","@16","maybe_attribute","attributes","attribute","attribute_list",
  675. "attrib","any_word","identifiers_or_typenames","init","initlist","structsp",
  676. "@17","@18","maybecomma","maybecomma_warn","aggr","specialization","named_class_head_sans_basetype",
  677. "named_class_head_sans_basetype_defn","do_xref","do_xref_defn","named_class_head",
  678. "unnamed_class_head","class_head","maybe_base_class_list","base_class_list",
  679. "base_class","base_class.1","base_class_access_list","left_curly","opt.component_decl_list",
  680. "component_decl_list","component_decl","component_decl_1","components","notype_components",
  681. "component_declarator0","component_declarator","after_type_component_declarator0",
  682. "notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
  683. "enumlist","enumerator","new_type_id","type_quals","nonempty_type_quals","nonmomentary_expr",
  684. "@19","after_type_declarator","qualified_type_name","nested_type","direct_after_type_declarator",
  685. "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
  686. "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
  687. "nested_name_specifier","nested_name_specifier_1","complete_type_name","complex_type_name",
  688. "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
  689. "direct_abstract_declarator","stmts","errstmt",".pushlevel","maybe_label_decls",
  690. "label_decls","label_decl","compstmt_or_error","compstmt","simple_if","@20",
  691. "@21","implicitly_scoped_stmt","stmt","simple_stmt","@22","@23","@24","@25",
  692. "@26","@27","@28","@29","@30","@31","@32","@33","@34","@35","@36","try_block",
  693. "@37","@38","ansi_try_stmts","handler_seq","@39","type_specifier_seq","handler_args",
  694. "label_colon","forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands",
  695. "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
  696. "parms","parms_comma","named_parm","parm","see_typename","bad_parm","maybe_raises",
  697. "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
  698. "operator_name",""
  699. };
  700. #endif
  701.  
  702. static const short yyr1[] = {     0,
  703.    106,   106,   108,   107,   107,   109,   110,   111,   111,   113,
  704.    112,   114,   114,   114,   114,   114,   114,   114,   114,   114,
  705.    115,   117,   116,   118,   118,   119,   119,   119,   120,   121,
  706.    121,   123,   122,   124,   122,   125,   122,   126,   122,   122,
  707.    122,   122,   122,   122,   122,   122,   127,   127,   127,   127,
  708.    127,   128,   128,   128,   128,   128,   128,   128,   128,   128,
  709.    128,   128,   129,   129,   129,   129,   129,   129,   129,   129,
  710.    130,   130,   130,   130,   131,   131,   131,   131,   131,   132,
  711.    133,   133,   133,   133,   134,   135,   136,   136,   136,   136,
  712.    137,   137,   137,   137,   137,   137,   137,   137,   138,   138,
  713.    138,   139,   139,   140,   140,   140,   141,   141,   141,   141,
  714.    142,   143,   143,   144,   145,   145,   146,   146,   148,   147,
  715.    149,   149,   150,   150,   151,   151,   151,   151,   151,   152,
  716.    152,   153,   153,   154,   154,   155,   155,   155,   157,   156,
  717.    156,   158,   158,   158,   158,   159,   159,   159,   159,   160,
  718.    160,   161,   162,   161,   161,   161,   161,   161,   161,   161,
  719.    161,   161,   161,   161,   161,   161,   161,   161,   161,   161,
  720.    161,   161,   161,   161,   163,   163,   164,   164,   164,   164,
  721.    165,   165,   166,   166,   166,   167,   167,   167,   167,   168,
  722.    168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
  723.    168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
  724.    168,   168,   168,   168,   169,   169,   169,   169,   170,   170,
  725.    171,   171,   171,   171,   172,   172,   172,   173,   173,   173,
  726.    173,   173,   173,   174,   173,   175,   173,   173,   173,   173,
  727.    173,   173,   173,   173,   173,   173,   173,   173,   173,   173,
  728.    173,   173,   173,   173,   173,   173,   173,   173,   173,   173,
  729.    173,   173,   173,   176,   176,   177,   177,   178,   178,   179,
  730.    179,   180,   181,   181,   182,   182,   182,   182,   182,   182,
  731.    182,   183,   183,   184,   184,   185,   185,   185,   185,   185,
  732.    186,   186,   187,   187,   187,   187,   187,   188,   188,   188,
  733.    189,   189,   189,   189,   190,   190,   190,   190,   191,   191,
  734.    192,   192,   192,   192,   192,   192,   192,   193,   193,   193,
  735.    194,   194,   195,   195,   196,   196,   197,   197,   199,   198,
  736.    198,   201,   200,   200,   203,   202,   202,   205,   204,   204,
  737.    206,   206,   207,   207,   208,   209,   209,   210,   210,   210,
  738.    210,   210,   211,   211,   211,   211,   212,   212,   213,   213,
  739.    213,   213,   213,   214,   214,   214,   214,   214,   214,   216,
  740.    215,   215,   217,   215,   215,   215,   215,   215,   215,   218,
  741.    218,   219,   219,   220,   220,   220,   220,   220,   221,   222,
  742.    222,   222,   222,   222,   222,   223,   224,   225,   226,   226,
  743.    227,   228,   228,   229,   229,   229,   230,   230,   231,   231,
  744.    232,   232,   232,   233,   233,   233,   233,   234,   235,   235,
  745.    235,   235,   236,   236,   236,   237,   237,   237,   237,   238,
  746.    238,   238,   238,   238,   238,   238,   239,   239,   239,   240,
  747.    240,   240,   241,   241,   242,   242,   243,   243,   243,   244,
  748.    244,   244,   244,   245,   245,   245,   246,   246,   246,   246,
  749.    247,   247,   248,   248,   249,   249,   249,   250,   250,   251,
  750.    251,   253,   252,   254,   254,   254,   254,   254,   254,   255,
  751.    255,   256,   257,   257,   257,   257,   257,   257,   257,   257,
  752.    257,   258,   258,   258,   258,   258,   258,   259,   259,   259,
  753.    259,   259,   259,   260,   260,   260,   260,   260,   260,   260,
  754.    260,   261,   262,   263,   263,   264,   264,   264,   265,   265,
  755.    266,   266,   267,   267,   268,   268,   269,   269,   270,   270,
  756.    271,   272,   272,   272,   272,   272,   272,   272,   273,   273,
  757.    274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
  758.    274,   275,   275,   275,   275,   275,   275,   275,   275,   275,
  759.    275,   275,   276,   276,   276,   276,   277,   278,   279,   279,
  760.    280,   280,   281,   282,   282,   283,   283,   283,   283,   285,
  761.    286,   284,   287,   287,   288,   288,   289,   289,   290,   289,
  762.    289,   291,   292,   289,   293,   294,   289,   295,   296,   297,
  763.    289,   298,   299,   300,   289,   301,   289,   302,   289,   303,
  764.    289,   304,   289,   289,   289,   289,   289,   289,   289,   289,
  765.    289,   289,   289,   289,   289,   289,   289,   306,   307,   305,
  766.    308,   308,   308,   309,   310,   309,   311,   311,   312,   312,
  767.    313,   313,   314,   314,   314,   315,   315,   315,   315,   316,
  768.    316,   317,   317,   317,   318,   318,   319,   319,   320,   321,
  769.    321,   322,   322,   322,   323,   323,   323,   323,   323,   323,
  770.    323,   323,   323,   323,   324,   324,   324,   324,   324,   324,
  771.    325,   325,   326,   326,   326,   326,   326,   326,   327,   327,
  772.    328,   329,   329,   330,   330,   331,   332,   332,   333,   333,
  773.    333,   333,   334,   335,   335,   335,   335,   335,   335,   335,
  774.    335,   335,   335,   335,   335,   335,   335,   335,   335,   335,
  775.    335,   335,   335,   335,   335,   335,   335,   335,   335,   335,
  776.    335,   335,   335,   335,   335,   335,   335,   335
  777. };
  778.  
  779. static const short yyr2[] = {     0,
  780.      0,     1,     0,     2,     2,     0,     0,     1,     1,     0,
  781.      2,     1,     1,     1,     1,     5,     4,     3,     4,     4,
  782.      1,     0,     5,     1,     3,     2,     4,     1,     3,     1,
  783.      3,     0,     5,     0,     5,     0,     5,     0,     5,     3,
  784.      3,     6,     7,     4,     3,     3,     1,     1,     1,     1,
  785.      1,     2,     3,     3,     3,     3,     2,     2,     2,     2,
  786.      2,     1,     3,     4,     3,     5,     4,     3,     3,     2,
  787.      3,     3,     2,     1,     6,     4,     3,     3,     2,     2,
  788.      1,     3,     4,     2,     3,     0,     0,     1,     3,     2,
  789.      3,     1,     4,     2,     4,     2,     4,     2,     1,     1,
  790.      1,     1,     1,     1,     1,     1,     3,     3,     4,     4,
  791.      3,     4,     4,     0,     1,     3,     1,     1,     0,     6,
  792.      0,     1,     0,     2,     1,     1,     1,     1,     1,     1,
  793.      1,     1,     3,     1,     3,     0,     1,     1,     0,     8,
  794.      1,     2,     4,     4,     1,     3,     3,     3,     3,     1,
  795.      1,     1,     0,     3,     2,     2,     2,     2,     2,     2,
  796.      4,     2,     4,     2,     3,     3,     4,     4,     5,     5,
  797.      6,     2,     4,     5,     3,     3,     3,     1,     3,     2,
  798.      3,     4,     1,     2,     5,     1,     4,     4,     4,     1,
  799.      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
  800.      3,     3,     3,     3,     3,     3,     3,     3,     3,     5,
  801.      3,     3,     1,     2,     3,     1,     1,     1,     1,     1,
  802.      1,     1,     2,     2,     1,     1,     1,     1,     1,     1,
  803.      1,     3,     3,     0,     4,     0,     6,     2,     4,     2,
  804.      2,     1,     4,     1,     7,     7,     7,     7,     4,     4,
  805.      2,     2,     1,     4,     2,     2,     2,     5,     3,     5,
  806.      3,     4,     6,     1,     2,     1,     2,     1,     1,     1,
  807.      2,     0,     2,     2,     3,     3,     3,     3,     3,     2,
  808.      2,     1,     1,     1,     2,     2,     2,     2,     1,     1,
  809.      1,     1,     2,     2,     3,     3,     4,     1,     2,     2,
  810.      1,     1,     2,     2,     1,     2,     2,     3,     1,     2,
  811.      1,     1,     1,     4,     4,     4,     4,     1,     1,     1,
  812.      1,     3,     1,     3,     1,     3,     0,     4,     0,     7,
  813.      4,     0,     7,     4,     0,     7,     4,     0,     7,     4,
  814.      0,     1,     1,     2,     6,     1,     3,     0,     1,     4,
  815.      6,     4,     1,     1,     1,     1,     1,     3,     1,     2,
  816.      3,     4,     1,     1,     3,     4,     6,     3,     5,     0,
  817.      7,     4,     0,     6,     3,     2,     2,     4,     1,     0,
  818.      1,     0,     1,     1,     2,     2,     2,     2,     3,     2,
  819.      2,     2,     3,     3,     1,     2,     0,     0,     3,     3,
  820.      2,     1,     1,     0,     1,     2,     1,     3,     1,     2,
  821.      1,     4,     4,     1,     1,     2,     2,     1,     0,     1,
  822.      4,     3,     1,     2,     2,     2,     2,     2,     2,     2,
  823.      2,     4,     2,     1,     5,     3,     0,     1,     3,     0,
  824.      1,     3,     1,     1,     1,     1,     4,     6,     4,     4,
  825.      6,     4,     3,     4,     6,     4,     4,     6,     4,     3,
  826.      1,     3,     1,     3,     2,     1,     6,     0,     2,     1,
  827.      2,     0,     2,     3,     3,     2,     2,     3,     1,     1,
  828.      1,     2,     5,     5,     3,     5,     4,     3,     3,     2,
  829.      1,     3,     3,     2,     2,     3,     1,     3,     3,     2,
  830.      2,     3,     1,     5,     5,     3,     5,     3,     3,     4,
  831.      3,     2,     2,     1,     2,     4,     4,     2,     1,     1,
  832.      1,     2,     2,     2,     1,     2,     1,     2,     2,     3,
  833.      1,     3,     2,     3,     2,     2,     3,     1,     3,     4,
  834.      3,     2,     2,     1,     3,     2,     2,     1,     2,     3,
  835.      1,     3,     1,     5,     3,     4,     3,     4,     2,     2,
  836.      3,     2,     1,     1,     2,     2,     2,     0,     0,     1,
  837.      1,     2,     3,     1,     2,     3,     5,     6,     5,     0,
  838.      0,     6,     1,     2,     1,     1,     1,     2,     0,     4,
  839.      1,     0,     0,     6,     0,     0,     7,     0,     0,     0,
  840.     10,     0,     0,     0,    10,     0,     7,     0,     5,     0,
  841.      7,     0,     4,     2,     2,     2,     3,     6,     8,    10,
  842.     12,     4,     3,     2,     2,     1,     1,     0,     0,     7,
  843.      1,     2,     2,     0,     0,     5,     1,     1,     3,     3,
  844.      2,     2,     3,     4,     4,     3,     4,     6,     6,     0,
  845.      1,     0,     1,     1,     0,     1,     1,     3,     4,     1,
  846.      3,     0,     1,     1,     1,     2,     2,     2,     1,     1,
  847.      2,     2,     2,     2,     1,     3,     2,     4,     2,     4,
  848.      2,     2,     2,     2,     2,     2,     1,     2,     1,     1,
  849.      0,     0,     1,     0,     4,     1,     1,     3,     0,     3,
  850.      3,     3,     1,     2,     2,     2,     2,     2,     2,     2,
  851.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  852.      2,     2,     2,     2,     2,     2,     3,     2,     2,     2,
  853.      2,     3,     2,     2,     4,     4,     3,     2
  854. };
  855.  
  856. static const short yydefact[] = {     3,
  857.     10,    10,     5,     0,     4,     0,   217,   519,   302,   312,
  858.    470,     0,     8,     9,     0,     0,   384,     0,   703,     0,
  859.    531,   218,    62,     0,     0,   691,     0,    74,    21,     0,
  860.     11,     6,     0,    15,    14,    13,    12,   272,     0,   520,
  861.    114,   226,   497,     0,   292,     0,   291,   305,     0,   325,
  862.    311,     0,   395,   397,   398,   403,   402,   379,   301,   525,
  863.    481,     0,   225,   227,   480,     0,   521,   313,   468,     0,
  864.      0,   216,    60,    61,   523,     0,     0,    99,   100,   101,
  865.    373,   376,     0,   527,     0,   377,     0,     0,     0,    30,
  866.      0,   302,     0,    22,     0,     0,   395,     0,     0,     0,
  867.      0,   495,     0,     0,     0,   494,     0,     0,     0,   226,
  868.      0,     0,     0,   225,   227,   468,     0,     3,     0,     0,
  869.      0,     0,   397,   398,   694,     0,    86,    81,   272,     0,
  870.      0,    58,   524,   121,   468,     0,   472,    59,     0,     0,
  871.      0,     0,     0,   321,   282,   479,   283,   491,     0,   468,
  872.    304,   303,    57,   293,     0,   323,     0,   298,   318,   319,
  873.    294,   307,   309,   320,     0,    52,   385,   386,   387,   388,
  874.    401,   105,   104,   106,   390,   396,   392,   114,   391,   404,
  875.    404,   418,     0,   471,   306,    70,     0,    73,   529,   513,
  876.    482,   522,     0,   526,     0,   738,   734,   733,   731,   713,
  877.    718,   719,     0,   725,   724,   710,   711,   709,   728,   717,
  878.    714,   715,   716,   720,   721,   707,   708,   704,   705,   706,
  879.    730,   722,   723,   712,   729,     0,   726,   637,   305,   638,
  880.    699,   470,   229,   270,     0,     0,     0,     0,   153,   266,
  881.    264,   242,   268,   269,     0,     0,     0,     0,     0,     0,
  882.      0,   126,   125,     0,   127,   128,     0,     0,   213,   129,
  883.      0,   115,     0,   186,     0,   190,   183,   118,   228,   152,
  884.      0,     0,   230,   231,     0,   117,   289,   305,   290,   514,
  885.    253,   244,     0,     0,     0,   395,   375,     0,   370,   528,
  886.      0,   130,   131,     0,     0,     0,     0,    29,     0,   108,
  887.    404,   122,   107,     0,   493,     0,   492,   100,   101,   215,
  888.    224,     0,   501,   223,     0,   500,   508,   509,     0,     0,
  889.     18,    10,     0,     7,     7,    46,    45,   694,     0,    32,
  890.     40,    36,    34,    41,    38,   327,    80,    87,    84,     0,
  891.      0,   272,     0,     0,     0,   568,    63,   574,    65,   111,
  892.    506,     0,   669,   670,   151,     0,   150,   664,   687,     0,
  893.    289,   305,   290,     0,   663,   665,   692,   675,     0,   511,
  894.      0,     0,     0,   477,     0,   476,     0,     0,     0,   468,
  895.     68,    56,    71,     0,    55,   468,     0,   472,   490,     0,
  896.    295,   296,     0,    53,    69,    54,    72,   300,   299,   310,
  897.    694,   326,   393,   389,   394,   405,   399,   400,   434,     0,
  898.      0,   437,   440,     0,     0,   423,     0,   694,   308,     0,
  899.      0,   341,   469,   496,   530,     0,     0,   727,   732,   468,
  900.    468,     0,   468,   737,     0,     0,     0,   160,     0,     0,
  901.    162,     0,     0,     0,     0,     0,     0,     0,     0,   159,
  902.    156,   155,   157,     0,     0,     0,     0,   214,     0,   113,
  903.    158,     0,     0,   184,     0,     0,     0,     0,     0,     0,
  904.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  905.      0,     0,     0,     0,     0,     0,   238,   240,   241,   274,
  906.    273,     0,     0,     0,     0,     0,   164,   466,     0,   172,
  907.    271,   220,     0,   691,   219,   256,   257,     0,   284,   548,
  908.    544,   553,     0,   472,   468,   468,   468,   286,   551,     0,
  909.    518,   288,     0,   287,   255,     0,   251,   265,   267,   515,
  910.      0,   252,   110,   109,   463,   382,   461,   372,     0,   314,
  911.      0,     0,   315,   316,   317,    31,     0,    24,   690,   305,
  912.      0,   689,    28,   119,   112,   499,   498,   502,     0,    17,
  913.     20,    19,   327,    51,    47,    49,    50,    48,    44,     0,
  914.      0,     0,     0,   341,   102,    92,   103,     0,    85,    88,
  915.      0,     0,     0,   363,     0,   359,    82,     0,     0,    64,
  916.     67,   575,   569,   468,   468,   668,   682,   674,   672,   548,
  917.    544,     0,   683,   468,   686,   688,   684,     0,   685,   468,
  918.    667,   681,   673,   671,   666,   693,   677,   679,     0,   510,
  919.    473,   475,   474,     0,     0,   489,     0,   341,   322,   485,
  920.      0,     0,     0,   488,     0,   478,   297,   324,   341,   327,
  921.    415,     0,   414,   406,   407,   409,     0,   411,   433,   429,
  922.    428,   217,   519,   468,     0,   662,   694,   430,   438,   443,
  923.    444,   694,   694,   431,   441,   694,     0,   378,   425,   424,
  924.    426,   427,   327,   696,   305,   697,     0,     0,     0,   340,
  925.    342,   343,   736,   735,   699,   699,   699,     0,     0,     0,
  926.    518,     0,     0,   519,     0,   154,     0,     0,     0,     0,
  927.      0,     0,   233,   232,     0,   181,   116,   217,   519,   218,
  928.      0,     0,   364,   380,     0,   212,   211,   654,   653,     0,
  929.    209,   208,   206,   207,   205,   204,   203,   200,   201,   202,
  930.    198,   199,   193,   194,   195,   196,   197,   191,   192,     0,
  931.      0,     0,     0,     0,     0,   166,   178,     0,     0,   165,
  932.    468,   468,     0,   468,   465,   538,     0,     0,     0,     0,
  933.    259,     0,   261,     0,   512,   547,   546,   543,   542,   690,
  934.      0,     0,   562,     0,     0,   559,   285,   560,   549,   468,
  935.    662,   472,   548,   544,     0,     0,   468,   228,     0,   514,
  936.      0,     0,     0,   383,     0,   382,   149,   148,   147,   146,
  937.      0,    23,   390,   396,     0,    16,   341,    33,    37,    35,
  938.     39,     0,     0,    90,     0,    94,     0,    98,     0,    96,
  939.      0,   360,     0,    83,    66,     0,   576,     0,   570,   571,
  940.    507,   504,   547,   543,   548,   544,   480,     0,   468,   549,
  941.    548,   544,     0,   228,     0,   514,   505,     0,     0,   676,
  942.    331,   468,   468,   468,   487,   337,   341,     0,     0,   417,
  943.    416,   410,     0,     0,   436,   341,     0,    77,     0,   327,
  944.    327,     0,   327,     0,   341,     0,   695,     0,     0,   338,
  945.    344,   701,   700,   702,   243,   161,     0,     0,   163,   187,
  946.    189,   188,   249,   250,     0,     0,     0,     0,   235,     0,
  947.      0,     0,     0,   182,     0,   236,   239,   176,   175,   168,
  948.      0,   167,   180,     0,     0,   535,   533,     0,   536,   472,
  949.    173,     0,     0,   262,     0,     0,   545,   541,   552,   468,
  950.    561,   550,   555,     0,   557,     0,   548,   544,   516,   517,
  951.      0,   254,   464,   462,   374,     0,    25,     0,     0,     0,
  952.     42,    91,    89,     0,     0,     0,     0,   361,   357,     0,
  953.      0,   217,   580,   592,   595,     0,   568,     0,     0,     0,
  954.      0,     0,     0,   218,   626,     0,   650,     0,   587,     0,
  955.      0,   305,     0,   564,   585,   591,   563,   586,   627,     0,
  956.    598,   602,   572,   547,   543,   482,   549,   517,   678,   680,
  957.    329,   486,   483,   484,   335,   334,     0,     0,   408,   341,
  958.    341,    76,   453,   468,   217,   519,     0,   439,   445,   446,
  959.    694,   694,   341,   341,   442,     0,   432,   698,   328,   348,
  960.      0,     0,     0,     0,     0,     0,   368,     0,     0,   365,
  961.    185,   210,   123,     0,   169,   170,   177,   179,   534,   532,
  962.    539,   537,     0,   174,     0,   258,   260,   558,   468,   556,
  963.    371,    27,     0,    43,    93,    97,    95,   362,     0,   573,
  964.    567,   579,   641,   568,   568,   568,     0,     0,     0,   612,
  965.    614,   615,   616,     0,     0,     0,   642,   568,   651,     0,
  966.    588,   280,   694,     0,   281,     0,   694,     0,   694,     0,
  967.      0,   577,   566,   565,   589,   625,   624,   568,   568,     0,
  968.      0,   332,   412,   413,   452,   449,   435,     0,     0,   341,
  969.    327,   327,   447,   450,   354,   355,   356,   353,     0,   346,
  970.    349,   339,     0,     0,     0,     0,   366,     0,     0,   123,
  971.    237,     0,   171,   540,   263,   554,   120,   358,     0,     0,
  972.      0,   583,     0,     0,   568,   643,     0,   646,     0,     0,
  973.    608,     0,   617,     0,   623,   628,     0,   276,   327,   278,
  974.    279,   327,     0,     0,     0,   275,   277,   578,   568,     0,
  975.      0,   330,   336,     0,    75,   341,   341,   460,   341,   341,
  976.      0,     0,   348,     0,     0,   245,   246,   247,   248,     0,
  977.    369,   124,   467,   134,     0,   581,   593,   584,   596,   647,
  978.    645,     0,   644,   141,     0,   305,     0,     0,     0,   613,
  979.    622,     0,     0,   590,   138,     0,   137,     0,   333,   459,
  980.    456,   454,   457,   448,   451,   347,   345,   217,     0,   367,
  981.      0,   568,     0,     0,     0,     0,   606,   694,   610,   609,
  982.      0,   631,     0,   629,   655,     0,   599,   603,     0,     0,
  983.      0,   350,   352,   135,   582,   569,   594,   145,   132,     0,
  984.      0,   649,     0,   648,   568,   327,     0,   633,   632,   634,
  985.      0,     0,   656,   657,   618,     0,     0,   455,   458,     0,
  986.    142,     0,     0,   597,   607,   341,   611,   630,     0,   655,
  987.      0,     0,     0,     0,   351,     0,     0,   133,     0,   635,
  988.      0,     0,   619,   658,   600,   604,   144,   143,   139,     0,
  989.    659,     0,     0,     0,     0,     0,     0,     0,   660,     0,
  990.    620,   601,   605,   140,     0,     0,   636,     0,     0,   639,
  991.    640,   661,   621,     0,     0,     0
  992. };
  993.  
  994. static const short yydefgoto[] = {  1344,
  995.      1,     2,   119,   561,   977,     3,     4,    31,    32,    33,
  996.    299,   547,   548,    34,    91,    35,   570,   572,   571,   573,
  997.    569,    36,    37,    38,   411,   128,   129,   130,   338,   579,
  998.    580,   535,   581,   176,    39,    40,    41,   134,   261,   262,
  999.    302,   805,   303,  1141,   263,   978,  1271,  1206,  1226,  1227,
  1000.   1326,  1267,   292,   786,   264,   444,   496,   750,   265,   266,
  1001.    267,   293,   269,   506,   311,    43,   270,   456,  1043,   271,
  1002.    272,   273,   274,   131,   275,   979,   401,   516,   770,   980,
  1003.     45,   161,   981,    47,   162,   439,   163,   143,   155,    49,
  1004.    628,   144,  1110,   402,  1184,   156,  1111,    50,  1031,   680,
  1005.    681,   682,  1129,  1130,  1131,   960,   713,   714,    51,   539,
  1006.    288,   903,   795,    52,    53,    54,    55,   180,   181,    56,
  1007.     57,    58,   407,   644,   645,   646,   647,   183,   414,   415,
  1008.    416,   417,   658,   664,   659,  1018,   660,   661,  1019,  1020,
  1009.    536,   537,   497,   776,    59,   371,   372,   145,    60,    61,
  1010.    146,   147,   113,    63,   507,   280,   281,   282,    65,   283,
  1011.     67,    68,   179,    69,   284,   755,   756,   767,   519,   983,
  1012.    984,  1151,   828,   829,   830,   347,   985,   986,  1074,  1242,
  1013.   1153,   987,   988,  1179,  1075,  1243,  1076,  1244,  1108,  1286,
  1014.   1324,  1109,  1287,  1325,  1275,  1219,  1277,  1162,   989,  1222,
  1015.   1280,  1254,  1298,  1320,  1217,  1328,   990,   991,   992,  1090,
  1016.    720,  1282,  1283,  1284,  1330,   364,   772,   366,   367,   368,
  1017.    369,   107,   618,  1169,   676,   677,   434,    71,    72
  1018. };
  1019.  
  1020. static const short yypact[] = {    71,
  1021.     88,-32768,-32768,  2859,-32768,   188,-32768,   266,    64,-32768,
  1022. -32768,   555,-32768,-32768,   140,   146,-32768,   235,-32768,  1989,
  1023. -32768,   237,-32768,  1666,  1666,-32768,  1814,-32768,-32768,   222,
  1024. -32768,   285,  3383,-32768,-32768,-32768,-32768,   201,   286,   315,
  1025. -32768,-32768,    80,  1865,-32768,  4890,-32768,   846,   619,-32768,
  1026. -32768,   142,-32768,-32768,-32768,-32768,-32768,   316,  1575,-32768,
  1027. -32768,   675,-32768,-32768,-32768,   347,-32768,-32768,-32768,   215,
  1028.   3638,-32768,-32768,-32768,-32768,  8393,  4228,-32768,   266,   237,
  1029.    284,   340,   315,-32768,   215,-32768,   215,  8393,  8393,-32768,
  1030.    623,-32768,   237,-32768,  2940,  4475,   399,   215,  8393,   266,
  1031.   2258,-32768,   410,   245,  2258,-32768,   420,  2904,  2904,   296,
  1032.    325,    80,   331,   345,   348,-32768,   444,   361,  2291,   262,
  1033.   2940,  9527,   664,   847,   375,   475,-32768,   382,   149,   119,
  1034.    119,-32768,-32768,   387,-32768,  6095,   390,-32768,  3062,  3062,
  1035.   4178,  1327,   637,-32768,-32768,   242,-32768,-32768,   347,-32768,
  1036. -32768,-32768,-32768,   846,   688,-32768,  1462,-32768,-32768,-32768,
  1037.    959,   730,-32768,-32768,  2940,-32768,-32768,-32768,-32768,-32768,
  1038. -32768,-32768,-32768,-32768,-32768,-32768,   315,   871,-32768,   443,
  1039.    443,-32768,  2169,-32768,   730,-32768,   469,   861,-32768,-32768,
  1040. -32768,-32768,  3286,-32768,   155,-32768,   419,   499,-32768,-32768,
  1041. -32768,-32768,   463,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1042. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1043. -32768,-32768,-32768,-32768,-32768,   485,-32768,-32768,   730,  1575,
  1044.    342,   504,-32768,-32768,  3906,  9334,   542,   573,-32768,-32768,
  1045. -32768,-32768,-32768,-32768,   577,   588,   616,   643,   646,   420,
  1046.   9085,-32768,-32768,  9085,-32768,-32768,  9085,  6659,  4696,-32768,
  1047.     41,-32768,  9085,-32768,  8480,-32768,-32768,  9696,-32768,   898,
  1048.   3155,  8563,-32768,   678,   713,-32768,  1174,  2042,  3006,-32768,
  1049.    157,-32768,   393,   808,  2940,   399,-32768,   420,   622,-32768,
  1050.    630,   666,  9604,   647,   656,   674,   780,-32768,  4228,-32768,
  1051.    443,-32768,-32768,   282,-32768,   195,-32768,-32768,-32768,-32768,
  1052. -32768,  2258,-32768,-32768,  2258,-32768,-32768,-32768,  3286,    42,
  1053. -32768,   686,  4228,-32768,-32768,-32768,-32768,   375,   732,-32768,
  1054. -32768,-32768,-32768,-32768,-32768,   589,-32768,   209,-32768,  6749,
  1055.   8650,-32768,   119,   119,   745,-32768,-32768,-32768,-32768,-32768,
  1056.    803,   721,-32768,-32768,   666,   726,  9604,    74,  2165,  9527,
  1057.   2165,  3271,  3772,   742,-32768,   143,  9420,   763,   776,-32768,
  1058.    749,  8650,  3372,-32768,  3372,-32768,  3542,  3542,   748,-32768,
  1059. -32768,-32768,   861,  2940,-32768,-32768,  6197,   751,-32768,  4114,
  1060.    959,   846,  2940,-32768,-32768,-32768,   861,-32768,-32768,-32768,
  1061.    375,-32768,-32768,-32768,-32768,   764,-32768,-32768,-32768,  8650,
  1062.     39,  1890,  9437,    72,  1839,-32768,   269,   375,   730,  3218,
  1063.    759,   832,-32768,-32768,-32768,   794,   801,-32768,-32768,-32768,
  1064. -32768,   229,-32768,-32768,  8650,   504,  6659,-32768,   191,  6659,
  1065. -32768,  8650,  8737,  9085,  8393,  3218,  3218,  3218,  3218,-32768,
  1066. -32768,-32768,-32768,   767,   790,   745,   812,-32768,  8393,-32768,
  1067. -32768,  2485,  6659,-32768,  8650,  8650,  6839,  8650,  8650,  8650,
  1068.   8650,  8650,  8650,  8650,  8650,  8650,  8650,  8650,  8650,  8650,
  1069.   8650,  8650,  8650,  8650,  8650,  8650,-32768,-32768,-32768,-32768,
  1070. -32768,  8650,  8650,  8650,  8393,   997,   558,   225,  7388,-32768,
  1071. -32768,   266,   873,   920,-32768,   477,   543,   631,-32768,    99,
  1072.     99,-32768,  3482,   817,   848,   894,-32768,-32768,   539,  7863,
  1073.   1305,-32768,   252,-32768,-32768,  8650,-32768,-32768,-32768,-32768,
  1074.    174,-32768,-32768,-32768,   893,   905,-32768,-32768,   420,-32768,
  1075.   7211,  7301,-32768,-32768,-32768,-32768,   320,-32768,-32768,  4012,
  1076.    142,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   897,-32768,
  1077. -32768,-32768,   589,-32768,-32768,-32768,-32768,-32768,-32768,   907,
  1078.    927,   939,   942,   832,-32768,-32768,   237,  8650,   945,-32768,
  1079.    559,   563,   567,-32768,  6299,  9673,-32768,   906,   119,-32768,
  1080. -32768,-32768,    36,-32768,-32768,-32768,-32768,-32768,-32768,  2346,
  1081.   2346,  3148,-32768,-32768,-32768,-32768,-32768,  7954,-32768,-32768,
  1082. -32768,-32768,-32768,-32768,-32768,-32768,   944,   949,  6749,-32768,
  1083. -32768,-32768,-32768,  3372,  3372,-32768,  4114,   832,-32768,   803,
  1084.    908,   912,   913,-32768,   911,-32768,   959,-32768,   832,   589,
  1085. -32768,   930,-32768,   962,-32768,-32768,   916,-32768,  9673,-32768,
  1086. -32768,   961,   639,-32768,  8650,  4879,   375,   970,-32768,-32768,
  1087. -32768,   594,   596,   971,-32768,   375,   969,-32768,-32768,-32768,
  1088. -32768,-32768,   535,-32768,  4103,-32768,   210,   444,   943,   976,
  1089.    832,-32768,-32768,-32768,   424,   424,   424,   933,   934,  8824,
  1090.    894,   935,   938,   141,   940,-32768,   950,   951,   974,   975,
  1091.    985,   986,-32768,-32768,   955,-32768,-32768,   998,   849,   509,
  1092.   8650,  1003,-32768,   991,   968,  9673,  9673,-32768,-32768,  1004,
  1093.   9714,  9731,  9747,  4614,  4486,  2373,  3583,  1046,  1046,  1046,
  1094.   1055,  1055,   800,   800,   540,   540,   540,-32768,-32768,   973,
  1095.    966,   977,   980,   984,  3218,   558,-32768,  6749,  8650,-32768,
  1096. -32768,-32768,  8650,-32768,-32768,   983,  9085,   982,   995,  1035,
  1097. -32768,  8650,-32768,  8650,-32768,   467,-32768,   467,-32768,    70,
  1098.    989,   990,-32768,   988,  3218,   803,-32768,   803,   719,-32768,
  1099.   1540,   993,  8045,  8045,  5119,   994,  8480,   296,  1000,   348,
  1100.    808,  1001,  8650,   420,   996,   905,-32768,  9673,-32768,  9673,
  1101.   4228,-32768,   428,  1040,   316,-32768,   832,-32768,-32768,-32768,
  1102. -32768,   732,  1005,-32768,   209,-32768,  8650,-32768,  8650,-32768,
  1103.   8650,-32768,    24,-32768,-32768,   420,-32768,  5723,  1071,-32768,
  1104.    803,   803,  2634,  2634,  2729,  2729,-32768,   347,-32768,  2804,
  1105.   8132,  8132,  5993,   317,  1007,   412,   803,  6749,  6749,-32768,
  1106.   1048,-32768,-32768,-32768,-32768,  1052,   832,  8393,   764,-32768,
  1107. -32768,-32768,  8650,  8650,    68,  9579,  1009,-32768,  1369,   589,
  1108.    589,  2412,   731,  2580,   832,  3218,-32768,    60,  1025,-32768,
  1109. -32768,-32768,-32768,-32768,-32768,-32768,  9168,  9168,-32768,-32768,
  1110. -32768,-32768,-32768,-32768,  1027,  1038,  1047,  1053,-32768,  9555,
  1111.   6749,  6389,  1033,-32768,  8650,-32768,-32768,-32768,-32768,   536,
  1112.   1041,-32768,-32768,  1042,   265,   273,   273,  1049,   273,-32768,
  1113. -32768,  9085,  1139,-32768,  1044,  1051,-32768,-32768,-32768,-32768,
  1114. -32768,-32768,   803,  1056,-32768,  1050,  8219,  8219,-32768,-32768,
  1115.    821,-32768,  9673,-32768,-32768,  1057,-32768,   435,  2169,   732,
  1116. -32768,-32768,-32768,  1059,  1061,  1063,  6479,-32768,-32768,   705,
  1117.    354,  1099,-32768,-32768,-32768,  1084,-32768,  8650,  1114,  1119,
  1118.   1120,  8306,   329,   524,-32768,  1127,  1177,  1129,-32768,  4142,
  1119.   9510,  2148,  5029,-32768,-32768,  1178,-32768,-32768,-32768,  7491,
  1120. -32768,-32768,-32768,  2634,  2634,-32768,  2804,  1719,-32768,-32768,
  1121. -32768,   803,   803,   803,-32768,  1130,  1089,  1092,-32768,  9579,
  1122.   9579,-32768,-32768,-32768,  1136,   899,  8650,-32768,-32768,-32768,
  1123.    375,   375,   832,   832,-32768,  1978,-32768,-32768,-32768,   569,
  1124.   6749,  8650,  8650,  8650,  8650,  6749,-32768,  8650,  1137,-32768,
  1125. -32768,  4942,   387,  8650,-32768,   536,-32768,-32768,-32768,-32768,
  1126. -32768,-32768,  1094,-32768,  1159,-32768,-32768,   803,-32768,-32768,
  1127. -32768,-32768,    83,-32768,-32768,-32768,-32768,-32768,   420,-32768,
  1128. -32768,-32768,-32768,-32768,-32768,   745,  6569,  1117,  5185,-32768,
  1129. -32768,-32768,-32768,  1151,  8650,  1152,-32768,-32768,-32768,  1122,
  1130. -32768,-32768,    31,   750,-32768,   787,   375,  8911,    34,   900,
  1131.    362,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  6749,
  1132.   6749,-32768,-32768,-32768,-32768,-32768,    68,  8650,  8650,  9579,
  1133.    589,   589,  1153,  1154,-32768,-32768,-32768,-32768,   330,-32768,
  1134.   1126,-32768,  1113,  1115,  1121,  1131,-32768,  9627,  6749,   387,
  1135. -32768,  1111,-32768,-32768,-32768,   803,-32768,-32768,   582,   582,
  1136.   7773,-32768,  1204,  1165,  1138,-32768,  1166,-32768,  8393,  8650,
  1137. -32768,  7593,-32768,  1168,-32768,-32768,   444,-32768,   589,-32768,
  1138. -32768,   589,  9251,  9251,  6929,-32768,-32768,-32768,   745,  7019,
  1139.   7019,-32768,-32768,  6749,-32768,  9579,  9579,-32768,   832,   832,
  1140.   6749,  6749,   569,  1142,  8998,-32768,-32768,-32768,-32768,  6749,
  1141. -32768,-32768,-32768,-32768,  8393,-32768,-32768,-32768,-32768,-32768,
  1142. -32768,  5813,-32768,-32768,  1144,   257,  2940,  9650,  7593,-32768,
  1143. -32768,  5271,    53,-32768,-32768,  1176,-32768,  1191,-32768,-32768,
  1144. -32768,  1190,  1192,-32768,-32768,-32768,-32768,   380,  1149,-32768,
  1145.   1156,   745,  7683,   585,   423,  5411,-32768,   375,-32768,-32768,
  1146.    434,-32768,  5515,-32768,  1245,  1208,-32768,-32768,  6749,  6749,
  1147.   8650,-32768,-32768,-32768,-32768,    48,-32768,-32768,-32768,  8650,
  1148.   1209,-32768,  1213,-32768,   745,   589,  7593,-32768,-32768,-32768,
  1149.   1183,     8,  1217,-32768,-32768,  7109,  7109,-32768,-32768,  1173,
  1150. -32768,  5903,  1184,-32768,-32768,   832,-32768,  1187,  8650,  1245,
  1151.   1223,  1245,  1188,  1189,-32768,   498,  5619,-32768,  1222,-32768,
  1152.   1195,   239,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1201,
  1153. -32768,  1283,  1237,  7683,  7683,  6749,  4122,   745,-32768,   436,
  1154. -32768,-32768,-32768,-32768,  1196,  1199,-32768,  1294,  1248,-32768,
  1155. -32768,-32768,-32768,  1306,  1307,-32768
  1156. };
  1157.  
  1158. static const short yypgoto[] = {-32768,
  1159.   1193,-32768,-32768,   992,    18,  1303,-32768,-32768,-32768,-32768,
  1160. -32768,-32768,   513,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1161.   -756,  1200,  1202,-32768,-32768,-32768,-32768,  1181,-32768,-32768,
  1162.    503,     0,-32768,   771,-32768,  3899,   -26,-32768,  1226,   867,
  1163.   -998,-32768,   -84,   187,-32768,   196,-32768,   179,   150, -1074,
  1164. -32768,  -350,   929,   118,   753,-32768,-32768,  -703,  2564,   926,
  1165.   -251,  2283,  2895,   822,   618,   425,-32768,-32768,-32768,-32768,
  1166.   -248,-32768,  -108,   -83,-32768,   255,    17,  -273,    82,    21,
  1167.   -121,  -120,    -3,  1868,    46,  1413,   -98,  -418,   352,-32768,
  1168.   -160,-32768,-32768,   207,-32768,-32768,-32768,-32768,-32768,    66,
  1169. -32768,   653,-32768,   144,-32768,-32768,   394,   756,    29,-32768,
  1170. -32768,-32768,   546,  -261,    37,  1302,  1310,-32768,-32768,-32768,
  1171. -32768,-32768,  -116,-32768,   479,  -614,-32768,   531,   395,   471,
  1172.   -409,-32768,-32768,-32768,-32768,-32768,-32768,   941,-32768,   474,
  1173.    809,   553,   860,  1539,  1625,  -357,-32768,  2462,   -63,    20,
  1174. -32768,  4399,   -90,   441,-32768,  3481,-32768,-32768,  4001,    -4,
  1175.    154,  -311,  1345,  3650,   789,  -169,-32768,  4093,-32768, -1136,
  1176.   -924,  -335,    92,-32768,   532,   -92,  -128,-32768,-32768,-32768,
  1177.  -1121,  -930, -1102,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1178. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1179. -32768,-32768,-32768,-32768,   -24,-32768,-32768,-32768,-32768,-32768,
  1180.   -281,    67,-32768,    76,-32768,  -343,  -132,-32768,-32768,  -289,
  1181.   -286,-32768,-32768,    40,   490,-32768,   -18,-32768,  -247
  1182. };
  1183.  
  1184.  
  1185. #define    YYLAST        9826
  1186.  
  1187.  
  1188. static const short yytable[] = {    66,
  1189.     46,   348,   348,   365,   521,   670,   194,    85,   320,   552,
  1190.    593,    82,   553,   464,   359,    85,    96,   313,   316,   103,
  1191.    103,    30,   103,   290,    44,   178,   583,   422,    66,   122,
  1192.    635,    84,   862,   391,   194,   529,   532,   551,   349,   149,
  1193.     95,    66,   912,   633,  1140,   344,   231,    85,  1208,   350,
  1194.    501,   175,  1104,   121,    85,   951,    97,  1224,  1103,  1107,
  1195.    142,   501,   399,   400,   408,   195,    85,  1300,   501,   826,
  1196.     -1,    84,    85,    96,   423,  1246,   164,   552,   957,   596,
  1197.    617,   826,    85,   596,  1215,  1253,  1168,    -2,   521,  1176,
  1198.    149,    85,   650,    85,   648,   459,   103,   285,   651,   306,
  1199.    103,   188,   100,   103,   103,    11,   310,   667,    77,  1301,
  1200.    460,   300,  1255,   286,    66,    46,   149,    66,   667,   345,
  1201.   1265,  -694,   187,   135,   597,   187,   958,  -694,   597,   598,
  1202.   1241,  -690,   360,   598,   149,   149,   149,   328,   827,    44,
  1203.   1268,  1140,   509,   559,    78,    79,   167,   168,   169,    21,
  1204.   1291,    93,   611,  1295,  1256,  1307,   774,   276,     8,   187,
  1205.    149,  1029,   599,   510,   336,   691,   599,   136,   137,   294,
  1206.    296,   706,   346,   511,   668,   574,   170,   359,    66,   413,
  1207.    276,   383,   164,   512,   554,  1147,   513,   514,   103,   164,
  1208.    164,    75,    21,  1064,    80,   171,   397,   612,   100,   392,
  1209.    525,   534,   613,   412,   342,   421,  1045,    93,   127,    76,
  1210.    240,   575,     8,   164,   348,   348,   592,   358,     8,   192,
  1211.    194,  1268,  1268,   126,    21,    85,   432,    88,   100,   425,
  1212.    419,  1220,   100,    89,   509,   614,   639,    90,   192,   172,
  1213.    173,   174,   891,    73,   526,   359,   498,    93,   100,   450,
  1214.    590,   591,   576,   356,   365,     8,   192,   164,   589,    21,
  1215.    127,   577,   159,   160,   876,   359,    85,    93,    12,   425,
  1216.    508,   637,   432,   432,   523,    21,   100,    93,   690,   423,
  1217.    149,    93,   529,   291,   295,   386,   313,   316,  1250,   751,
  1218.     74,    17,   399,   400,    85,   360,   578,    93,  1322,   752,
  1219.    509,   533,   192,   189,    93,    99,   164,   103,   509,   117,
  1220.    103,   877,   867,   753,   103,  1104,    75,   326,    85,    96,
  1221.    400,  1103,  1104,    21,   671,    93,   189,   705,  1103,   387,
  1222.    388,    78,   308,  1062,    76,   648,   459,   751,   118,   457,
  1223.   1323,   132,  1143,    95,   690,   100,  1297,   752,   192,     7,
  1224.      8,   555,   690,   421,   149,    66,   149,   149,   523,    97,
  1225.   -226,   753,    66,   360,   327,   133,  1048,   563,   149,   182,
  1226.    149,   672,   149,   149,   801,   603,  1104,   607,   609,   149,
  1227.    549,   309,  1103,   360,  1193,   149,   287,    19,   149,   802,
  1228.    164,   359,    21,   289,    93,     7,     8,  -221,   359,    22,
  1229.    421,    85,   807,  1085,  -226,  -226,   430,   149,    66,  1071,
  1230.     66,   413,     7,   100,   421,    85,   431,  1071,  -221,   164,
  1231.    164,   189,    78,   308,   936,   339,   317,   100,   657,    26,
  1232.    423,  1194,   318,    19,  1261,   412,   192,   934,     8,   340,
  1233.    640,    85,    85,    85,    85,    22,  -503,   164,   549,  -222,
  1234.     19,   112,   234,   455,  -121,  -227,  1072,   673,   588,   192,
  1235.    348,   712,    22,   321,  1178,   642,   187,   114,   358,   341,
  1236.    100,   498,   309,   184,    21,    26,    93,   337,  1071,   857,
  1237.    359,  1262,   -26,   301,   189,    21,   359,    93,   430,  1071,
  1238.   1338,    85,    26,   432,   370,   301,   825,   -26,   431,  -227,
  1239.   -227,   674,   406,   583,   632,   432,   432,   426,   523,   360,
  1240.    509,   552,   875,  -222,   553,    66,   360,    21,   689,    93,
  1241.    761,   692,   428,   365,   178,  1272,   698,   699,   700,   701,
  1242.    702,   510,   112,   112,   359,   464,  1278,  1339,   399,   551,
  1243.    276,   511,   529,   532,   715,   149,    85,   648,   114,   114,
  1244.    803,   512,   688,  1071,   513,   514,   420,    78,    79,    13,
  1245.     14,  1094,  1053,  1100,   762,   112,   609,   621,  -101,   878,
  1246.     84,    78,   308,  1125,  1126,  1127,   744,    99,   164,   747,
  1247.    421,   114,   780,  1087,   712,   192,   763,   427,   -79,   429,
  1248.    629,   435,    99,   748,   -79,   149,   149,   838,   360,   638,
  1249.   1317,   747,   816,   838,   360,    21,   818,    80,    81,   740,
  1250.    820,   742,   743,    13,    14,   748,   670,   485,   486,   149,
  1251.    149,   309,   149,   749,  1044,  1204,   781,   782,  1269,   442,
  1252.    764,  1078,   455,     7,   502,   455,   648,   693,   695,   812,
  1253.    697,   691,    85,   792,   111,   749,   817,  -282,   365,  -283,
  1254.    819,   838,   360,  -282,   821,  -283,   446,   421,   455,   359,
  1255.    443,   192,   719,   359,   445,   164,   882,   883,   884,  1205,
  1256.    432,    19,  1270,   165,   166,   186,   192,   297,   298,   359,
  1257.    432,   432,   432,    22,   447,   187,   501,   187,   741,    75,
  1258.    421,   384,   385,   851,   758,   813,   868,  -694,   864,  -694,
  1259.   -694,   870,   871,   164,   856,   873,  -694,    76,   691,  1023,
  1260.   1024,   448,  1024,    26,   449,     7,   502,   330,   503,   331,
  1261.    541,   359,   100,   332,   538,   423,   314,   194,  -694,  -694,
  1262.   -694,   540,  -694,   587,  -694,   159,   160,   358,  1149,  1150,
  1263.     85,    12,   393,   394,   313,   316,  1049,  1050,   543,  1052,
  1264.    313,   316,  1166,    19,   564,    13,    14,   544,   111,  1069,
  1265.   1070,   432,   509,   432,    17,    22,   187,     8,   641,    21,
  1266.     85,    93,  1180,  1181,   432,   545,    85,   360,    66,    66,
  1267.     66,   360,   546,   510,   -78,   565,   941,   566,   560,   567,
  1268.    -78,   568,    70,   511,   642,   504,    85,   360,   346,   643,
  1269.     87,   112,   112,   512,   384,  1170,   513,   514,    98,   423,
  1270.    527,     8,   104,   104,    21,   104,    93,   114,   114,  1212,
  1271.   -689,    70,   594,     7,     8,   959,   911,   595,   149,   149,
  1272.    149,   149,   104,   619,    70,   149,   838,   838,   838,   360,
  1273.     87,   393,  1171,   610,   240,   528,   678,    98,    19,   626,
  1274.    158,   159,   160,   620,    85,   634,   715,    12,    21,    98,
  1275.     93,    19,   358,   679,   149,    98,   914,   103,   703,    66,
  1276.    413,    85,   950,    22,   482,   483,   484,   485,   486,   925,
  1277.     17,   926,   549,   104,    98,    13,    14,   421,   421,   104,
  1278.    421,   704,  -327,   104,   412,   425,   104,   104,   683,    75,
  1279.    333,  1039,   334,    26,  1012,   684,   335,    70,  -100,   104,
  1280.     70,   432,   432,   706,   432,  -327,  -327,    76,  -327,     8,
  1281.    860,   773,  1006,   759,   403,   760,   404,   104,   104,   104,
  1282.    405,  1013,    66,    66,   954,   775,   955,   777,   956,  1008,
  1283.   1027,   487,   691,    85,    66,   413,   642,  1152,   918,    75,
  1284.    793,   861,   806,   104,   384,  1177,  1039,   674,  1119,   794,
  1285.   1189,  1190,   808,   398,   159,   160,    21,    76,    93,   412,
  1286.     12,    70,  1086,  1332,  1333,   149,    66,   149,   488,   489,
  1287.    455,   104,   809,   490,   491,   492,   493,   438,   441,   149,
  1288.    149,   192,   149,    17,   810,   314,  1093,   811,  1099,   815,
  1289.      8,   848,    10,    11,  1303,  1304,   849,   824,    12,   852,
  1290.    164,   639,   850,   853,   854,   855,   859,   858,    98,   104,
  1291.    863,    66,   413,    15,   869,   872,   112,    16,   874,  1128,
  1292.    879,    17,   112,   880,   885,   886,   889,   552,   455,   890,
  1293.   1336,   892,   114,   895,   896,   902,   412,    21,   114,    93,
  1294.   1152,   893,   894,  1007,   897,   898,   899,   -99,  1223,    98,
  1295.   1121,  1122,   901,   905,   355,   104,   104,    70,  1148,   904,
  1296.    907,   920,   531,   104,   906,  1115,  1116,   923,   924,   908,
  1297.    112,   909,   313,   316,   745,   910,   922,    98,  1123,  1124,
  1298.    929,   930,   931,   838,   192,   939,   114,   935,   945,   948,
  1299.    104,   940,   942,   104,   826,  1001,   952,   104,   998,  1005,
  1300.   1014,    98,  1030,  1152,  1032,  1296,   478,   479,   480,   481,
  1301.    482,   483,   484,   485,   486,  1033,    98,   480,   481,   482,
  1302.    483,   484,   485,   486,  1034,  1041,  1172,   789,   421,   421,
  1303.   1035,   913,  1046,  1047,  1055,  1056,  1152,   104,    70,   104,
  1304.    104,    70,  1057,  1051,  1060,    70,  1185,  1059,  1073,  1061,
  1305.   1065,   104,  1066,   104,  1067,   104,   104,  1084,   838,   838,
  1306.    838,  1077,   104,  1080,  1081,  1082,   451,   100,   104,   452,
  1307.   1088,   104,   453,  1089,  1091,  1188,   421,  1112,   461,   421,
  1308.   1113,  1105,  1128,  1114,    98,  1118,  1139,   500,  1144,  1337,
  1309.    104,    70,  1145,    70,  1159,   359,  1163,  1165,    98,  1167,
  1310.   1191,  1192,   149,  1195,  1196,  1203,  1197,   509,  1209,   111,
  1311.   1210,  1213,  1198,  1221,    21,   845,    93,  1133,  1134,  1135,
  1312.   1136,  1257,  1199,  1248,    98,    98,    98,    98,   510,  1142,
  1313.   1211,   999,  1000,  1237,   164,  1247,  1258,  1259,   511,  1260,
  1314.   1263,  1230,  1231,  1281,  1232,  1233,   457,  1264,   512,   112,
  1315.    112,   513,   514,  1285,  1294,   112,   112,   112,  1071,   355,
  1316.   1299,  1302,  1157,   111,  1305,   114,   114,  1310,  1313,  1319,
  1317.   1164,   114,   114,   114,    98,  1308,   104,  1276,  1327,  1315,
  1318.   1316,  1329,  1331,   421,  1037,  1040,  1321,  1340,   104,   104,
  1319.   1341,    70,  1342,  1343,     5,  1345,  1346,   789,   791,   343,
  1320.    322,  -468,  1239,   947,  -468,   355,   562,   953,   324,   531,
  1321.    325,   804,    85,   360,   304,   707,  1202,   381,  1207,   765,
  1322.   1228,  1158,  1096,   881,   123,   949,  1236,  1009,   104,    87,
  1323.    823,   946,   124,  1063,  1026,  1025,   944,   796,   777,  -694,
  1324.   1040,  -694,  -694,   665,  1214,   746,    86,  1292,  -694,  -468,
  1325.    993,  1309,  -468,   355,  -468,  1028,  1312,     0,     0,   696,
  1326.    455,  1015,  1016,     0,  -468,  1214,  1214,  1314,  1290,     0,
  1327.   -694,  -694,   382,     0,  -694,     0,  -694,     0,   104,   104,
  1328.     70,     0,  -468,  -468,     0,     0,   791,  -468,     0,     0,
  1329.   1214,   314,     0,     0,     0,     0,  -468,     0,   549,    19,
  1330.      0,     0,   104,   104,     0,   104,    48,     0,   187,    21,
  1331.    355,    22,   355,   355,  1132,     0,     0,     0,  1017,  1137,
  1332.      0,     0,    48,   139,     0,    98,     0,     0,     0,     0,
  1333.      0,     0,     0,   140,    70,    48,     0,     0,   355,     0,
  1334.      0,    26,     0,   314,   355,     0,   141,     0,   154,   314,
  1335.    111,     0,   395,   104,     0,  1293,     0,     0,     0,     0,
  1336.      0,   185,     0,   104,   104,   104,     0,     0,     0,     0,
  1337.      0,   719,   719,   229,  -694,     0,  -694,  -694,   278,    48,
  1338.      0,     0,     0,  -694,  1311,     0,     0,     0,     0,     0,
  1339.    278,   278,     0,  1182,  1183,   314,   355,     0,   154,     0,
  1340.      0,   278,     0,     0,     0,  -694,  -694,   396,     0,  -694,
  1341.      0,  -694,   112,     0,     0,     0,     0,     0,     0,     0,
  1342.      0,    48,  1201,    98,   154,     0,   355,     0,   114,     0,
  1343.      0,     0,     0,     8,    92,    10,    11,     0,   362,   353,
  1344.      0,    12,     0,   187,   104,     0,   104,     0,     0,     0,
  1345.      0,     0,     0,    98,     0,     0,    15,   104,     0,    98,
  1346.     16,   791,   791,   791,    17,     0,     0,  1229,     8,   531,
  1347.     10,   184,     0,     0,  1234,  1235,    12,     0,     0,    98,
  1348.     21,     0,    93,  1240,     0,    48,     0,   112,   112,   112,
  1349.      0,    15,     0,    98,     0,    16,     0,   193,     0,    17,
  1350.      0,     0,     0,   114,   114,   114,     0,     0,   355,     0,
  1351.      0,   104,   104,   104,   104,    21,     0,    93,   104,   791,
  1352.    791,   791,   354,     0,     0,     0,     0,     0,     0,     0,
  1353.      0,     0,   185,     0,     0,     0,     0,    98,   101,   105,
  1354.      0,     0,  1288,  1289,   319,     0,     0,   104,     0,     0,
  1355.    104,     0,    70,     0,    98,     0,     0,     0,     7,   100,
  1356.    278,     0,    11,   351,     0,     0,     0,   355,     0,     0,
  1357.      0,     0,   921,   229,     0,     0,     0,     0,   390,     0,
  1358.    355,   185,   355,     0,     0,   230,     0,     0,     0,     0,
  1359.    279,     0,     0,     0,   104,   104,    19,   104,   451,   452,
  1360.      0,   550,   279,   279,     0,   845,    21,     0,    22,  1334,
  1361.      0,     0,     0,   279,     0,   791,   791,     0,  -508,     0,
  1362.     24,     0,   312,   315,     0,    48,    98,    70,     0,     0,
  1363.     25,     0,     0,  -508,  -508,   355,     0,   355,    26,   355,
  1364.   -508,     0,     0,    27,     0,     0,     0,     0,     0,     0,
  1365.    363,     0,  -508,   373,   375,     0,   451,   452,   104,    70,
  1366.    104,     0,   154,  -508,  -508,   185,  -508,     0,  -508,   550,
  1367.      0,     0,   104,   104,     0,   104,     0,     0,     0,     0,
  1368.      0,   314,   111,     0,     0,     0,     0,     0,     0,   362,
  1369.      0,     0,     0,     0,     0,     0,  -508,  -508,     0,     0,
  1370.   -508,  -508,   451,   452,    70,     0,     7,   100,     0,     0,
  1371.   -508,     0,     0,     0,     0,   154,     0,    48,     0,     0,
  1372.      0,     0,   675,     0,     0,     0,     0,     0,     0,   409,
  1373.      0,     7,     8,    92,    10,    11,     0,  1054,     0,   278,
  1374.     12,     0,   278,     0,    19,     0,     0,   278,   675,   675,
  1375.    675,   675,   451,   452,    21,    15,    22,     7,     8,    16,
  1376.      0,   278,     0,    17,  -420,   278,     0,     0,   108,    19,
  1377.      0,     0,   279,     0,     0,     0,   791,     0,   109,    21,
  1378.      0,    22,   652,   653,   669,   230,    26,     0,   410,     0,
  1379.      0,    27,     0,    24,     0,    19,     0,   278,   229,     0,
  1380.      0,     0,     0,    25,     0,    21,     0,    22,   627,     0,
  1381.    138,    26,     0,   363,   630,   550,    27,     0,     0,   139,
  1382.     19,     0,   362,   654,     0,     0,     0,     0,   228,   140,
  1383.     21,  -420,    22,   277,     0,     0,     0,    26,     0,   655,
  1384.      0,     0,   141,     0,   139,   277,   277,     0,     0,     0,
  1385.      0,   791,   791,   791,   140,     0,   277,     0,   685,   686,
  1386.      0,   687,    26,     0,     0,     0,     0,   656,   409,     0,
  1387.      7,     8,    92,    10,    11,     0,     0,     0,     0,    12,
  1388.      0,   363,     8,    92,    10,    11,     0,     0,     0,     0,
  1389.     12,   624,   625,   361,    15,   104,     0,     0,    16,     0,
  1390.      0,   363,    17,  -421,   550,    15,     0,     0,    19,    16,
  1391.    362,     0,     0,    17,     0,     0,   355,     0,    21,     0,
  1392.     22,     0,     0,   669,     0,     0,     0,   410,     0,    21,
  1393.      0,    93,    24,     0,   279,   100,     0,   159,   160,     0,
  1394.      0,     0,    25,    12,   778,   779,     0,    94,     0,   778,
  1395.     26,   279,     0,     0,   279,    27,     0,     0,   550,   279,
  1396.    279,   279,   279,   279,     0,     0,    17,     0,     0,     0,
  1397.   -421,     0,     0,   279,     0,   509,     0,   279,     0,     0,
  1398.      0,     0,    21,     0,    93,     0,     0,     0,   451,   452,
  1399.      0,     0,     0,     0,     0,     0,   510,     0,     0,     0,
  1400.      0,     0,     0,     0,     0,    98,   511,     0,     0,   279,
  1401.    230,     0,     0,   355,     0,   277,   512,     0,     0,   520,
  1402.    514,     0,   831,   832,   766,   768,     0,   363,   228,     0,
  1403.      0,     0,   840,     0,   363,     0,     0,     0,   847,     0,
  1404.      7,     8,   158,   159,   160,     0,     0,   675,     0,    12,
  1405.      0,   915,     0,     0,     0,     0,   361,     7,     8,   409,
  1406.      0,     7,     8,    92,    10,    11,     0,     0,     0,     0,
  1407.     12,     0,    17,     0,     0,     0,     0,   675,    19,   355,
  1408.      0,   509,   865,   550,     0,    15,     0,   362,    21,    16,
  1409.     22,     0,     0,    17,  -419,    19,     0,     0,   509,    19,
  1410.      0,     0,   139,   550,     0,    21,     0,    22,     0,    21,
  1411.      0,    22,   140,     0,   833,   834,   363,     0,   410,   600,
  1412.     26,     0,   363,    24,   361,  1098,     0,     0,     0,   601,
  1413.    982,     0,     0,    25,     0,     0,     0,    26,     0,   512,
  1414.      0,    26,   602,   514,   361,   362,    27,     0,     0,     0,
  1415.      7,   100,     0,     0,   184,     0,     0,     0,     0,     0,
  1416.    278,  -419,     0,     0,     0,     0,     0,     0,     0,     0,
  1417.    363,     0,     0,     0,     0,     0,    48,   277,   675,   916,
  1418.    917,     6,   919,     7,     8,     9,    10,    11,    19,     0,
  1419.      0,     0,    12,     0,   277,     0,     0,   277,    21,     0,
  1420.     22,     0,   277,   277,   277,   277,   277,    15,   933,     0,
  1421.      0,    16,    24,     0,     0,    17,   277,     0,     0,     0,
  1422.    277,    19,    25,     0,     0,   323,     0,     0,     0,     0,
  1423.     26,    21,     0,    22,     0,    27,    23,     0,     7,     8,
  1424.      0,     0,    11,     0,     0,    24,     0,     0,   268,     0,
  1425.      0,    48,   277,   228,     0,    25,     0,     0,     0,   279,
  1426.      0,     0,     0,    26,     0,     0,     0,   997,    27,     0,
  1427.    361,   268,     0,     0,    28,     0,    19,   361,     0,   509,
  1428.   1002,  1003,  1004,   154,     0,   982,    21,     0,    22,   279,
  1429.      0,     0,   982,     0,     0,   363,     0,   766,   768,   363,
  1430.    600,     0,     0,     0,  1015,   100,     0,     0,   357,     0,
  1431.    601,     0,     0,     0,     0,   363,     0,     0,    26,     0,
  1432.    512,     0,     0,   602,   514,     0,     0,     0,    48,   474,
  1433.    475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
  1434.    485,   486,    19,     0,     0,     0,     0,     0,     0,   994,
  1435.    995,     0,    21,     0,    22,   994,   995,   363,  1058,   361,
  1436.      0,  1017,     0,     0,     0,   361,    24,     0,     0,     0,
  1437.      0,     0,   279,     0,     0,   584,    25,   708,   709,   982,
  1438.     10,   436,   233,   234,    26,   235,    12,     0,     0,    27,
  1439.    279,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1440.      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  1441.      0,   240,   241,   361,   242,    19,   243,   244,     0,     0,
  1442.    245,   246,   247,   248,   249,    21,     0,   710,   585,     0,
  1443.      0,   458,     0,     0,     0,     0,   250,     0,     0,   251,
  1444.      0,     0,  1117,     0,     0,     0,     0,   252,   253,   254,
  1445.      0,   766,   768,   982,     0,   255,   256,   257,     0,     0,
  1446.      0,  1216,   258,   711,   982,     0,   259,     0,     0,     0,
  1447.    409,     0,     7,     8,    92,    10,    11,   278,   260,     0,
  1448.      0,    12,  1216,  1216,     0,     0,     0,  1146,     0,     0,
  1449.    374,   376,   379,     0,     0,     0,    15,     0,     0,     0,
  1450.     16,     0,   277,     0,    17,  -422,     0,  1216,     0,     0,
  1451.     19,     0,   586,   357,   982,     0,     0,     0,     0,     0,
  1452.     21,   982,    22,     0,   982,     0,     7,     8,     0,   410,
  1453.    184,     0,   277,     0,    24,     0,     0,     0,   361,     0,
  1454.      0,     0,   361,     0,    25,   982,     0,     0,   982,     0,
  1455.      0,     0,    26,     0,     0,   982,     0,    27,   361,   357,
  1456.      0,     0,     0,     0,    19,     0,     0,   509,     0,     0,
  1457.      0,     0,  -422,     0,    21,     0,    22,     0,     0,   982,
  1458.      0,     0,   649,     0,     0,     0,     0,     0,   600,     0,
  1459.      0,     0,     0,     0,   982,     0,     0,     0,   601,     0,
  1460.    361,     0,     0,     0,     0,     0,    26,   357,   512,   982,
  1461.      0,   602,   514,     0,     0,   277,     0,     0,     0,     0,
  1462.      0,     7,     8,     0,     0,    11,   982,   982,     0,   550,
  1463.      0,   268,     0,   277,   586,     0,     0,   716,   717,     0,
  1464.    721,   722,   723,   724,   725,   726,   727,   728,   729,   730,
  1465.    731,   732,   733,   734,   735,   736,   737,   738,   739,    19,
  1466.      0,     0,   509,     0,   357,     0,   357,   357,     0,    21,
  1467.      0,    22,     0,   230,     0,     0,     0,     0,     0,     0,
  1468.      0,     0,     0,   835,     0,     0,     0,   624,   625,   279,
  1469.      0,     0,   357,   836,   230,   230,     7,     8,   357,     0,
  1470.    423,    26,     0,   512,     0,     0,   602,   514,     0,     0,
  1471.      0,     0,     0,   798,   800,     0,     0,     0,     0,   230,
  1472.      0,     0,     0,     0,   622,     0,   623,     0,   374,   376,
  1473.    515,   515,   515,     0,    19,     0,     0,   509,     0,     0,
  1474.      0,   636,     0,     0,    21,     0,    22,     0,     0,     6,
  1475.    357,     7,     8,     9,    10,    11,     0,   586,   600,     0,
  1476.     12,     0,     0,   662,     0,     0,     0,     0,   601,     0,
  1477.      0,     0,     0,    13,    14,    15,    26,     0,   512,    16,
  1478.    357,   602,   514,    17,     0,     0,     0,    18,    42,    19,
  1479.      0,   586,     0,    20,     0,     0,     7,   100,     0,    21,
  1480.     11,    22,     0,     0,    23,     0,     0,     0,    42,    42,
  1481.      0,   110,   515,    24,   515,   515,   515,    42,     0,     0,
  1482.      0,     0,     0,    25,     0,     0,     0,   866,    42,     0,
  1483.     42,    26,     7,     8,    19,     0,    27,     0,     0,     0,
  1484.      0,   363,    28,    29,    21,     0,    22,     0,     0,     0,
  1485.    190,     0,     0,     0,     0,     0,     0,     0,   108,     0,
  1486.      0,     0,   357,     0,     0,     0,     0,     0,   109,     0,
  1487.     19,     0,     0,     0,     0,     0,    26,     0,     0,    42,
  1488.     21,    27,    22,   900,     0,    42,     0,   190,     0,    42,
  1489.      0,     0,   110,   110,   139,     0,     0,     0,     0,     8,
  1490.      0,    10,   184,    42,   140,    42,    42,    12,     0,     0,
  1491.      0,     0,    26,     0,     0,     0,   228,   141,     0,     0,
  1492.    586,   357,    15,    42,    42,   110,    16,     0,     0,     0,
  1493.     17,     0,   277,   190,   357,     0,   357,   228,   228,   509,
  1494.      0,     0,     0,     0,     0,     0,    21,     0,    93,    42,
  1495.      0,   374,   376,   379,     7,     8,     0,     0,    11,   379,
  1496.    510,     0,   228,   515,   515,   943,   515,    42,     0,     0,
  1497.    511,     0,     0,   787,     0,   622,   623,    42,   636,     0,
  1498.    512,     0,     0,   513,   514,     0,     0,     0,     0,   357,
  1499.      0,   357,    19,   357,     0,     0,     0,     0,     0,     0,
  1500.      0,     0,    21,   515,    22,     0,     0,   379,     0,     0,
  1501.      0,     0,     0,     0,     0,     0,   139,     0,     0,     0,
  1502.    586,   586,     0,     0,     0,     0,   140,     0,     0,     0,
  1503.      0,     0,     0,     0,    26,  1010,  1011,     0,     0,   141,
  1504.      7,     8,    92,    10,    11,     0,     0,   353,     8,    12,
  1505.     10,    11,     0,   515,   515,   515,    12,     0,     0,   505,
  1506.      0,   787,     0,     0,    15,     0,     0,   190,    16,    42,
  1507.      0,    15,    17,   586,   586,    16,     0,  1042,    19,    17,
  1508.      0,   509,     0,     0,   361,     0,     0,     0,    21,     0,
  1509.     22,     0,     0,     0,     0,    21,    42,    93,   494,    42,
  1510.      0,     0,   835,    42,     0,     0,     0,     0,     0,     0,
  1511.      0,     8,   836,    10,    11,     0,     0,     0,     0,    12,
  1512.     26,     0,   512,     0,     0,   602,   514,     0,   515,   586,
  1513.    354,     0,   495,     0,    15,     0,     0,     0,    16,     0,
  1514.   1079,     0,    17,    42,    42,    42,    42,     0,     0,     0,
  1515.      0,    42,     0,     0,     0,     0,     0,    42,    21,    42,
  1516.     93,   110,   110,     7,     8,   158,   159,   160,    42,     0,
  1517.      0,     0,    12,     0,    42,     0,     0,    42,     7,   100,
  1518.      0,     0,   423,     0,   622,   623,   374,   376,     0,  1120,
  1519.      0,   636,   374,   376,   379,    17,    42,    42,     0,    42,
  1520.      0,    19,     0,   586,   509,     0,     0,     0,   586,     0,
  1521.   1138,    21,     0,    22,     0,     0,    19,     0,     0,   515,
  1522.   1021,   515,     0,     0,     0,   600,    21,     0,    22,     0,
  1523.      0,     0,   515,     0,     0,   601,   787,   787,   787,     0,
  1524.     24,     0,     0,    26,     0,   512,     0,     0,   608,   514,
  1525.     25,     0,     0,     0,     0,     0,     0,     0,    26,     0,
  1526.      0,     0,     0,    27,     7,     8,     0,     0,   184,     0,
  1527.    357,     0,     0,   120,     0,     7,     8,    92,    10,    11,
  1528.      0,     0,   586,   586,    12,     0,   515,   515,   515,   515,
  1529.   1186,  1187,   505,   515,   787,   787,   787,     0,     0,    15,
  1530.      0,     0,    19,    16,   788,     0,     0,    17,     0,     0,
  1531.      0,   586,    21,    19,    22,     0,     0,     0,     0,     0,
  1532.      0,     0,     0,    21,     0,    22,   139,     0,     0,     0,
  1533.      0,     0,  1218,     0,    42,     0,   140,    24,     0,     0,
  1534.      0,     0,     0,     0,    26,   622,   623,    25,   636,   141,
  1535.      0,     0,     0,     0,     0,    26,   586,     0,     0,     0,
  1536.     27,     0,     0,   586,   586,     0,     0,   357,     0,     0,
  1537.      0,     0,   586,     0,    64,     8,    92,    10,    11,     0,
  1538.      0,   353,     0,    12,    42,    42,   110,     0,     0,     0,
  1539.    787,   787,   844,     0,    64,    64,     0,   115,    15,     0,
  1540.      0,     0,    16,    64,     0,     0,    17,     0,    42,    42,
  1541.      0,    42,     0,     0,    64,   509,    64,     0,     0,     0,
  1542.      0,     0,    21,     0,    93,     0,     0,     0,     0,     0,
  1543.      0,   586,   586,   357,     7,     8,   510,     0,    11,     0,
  1544.    110,     0,     0,     0,     0,     0,   511,   515,   515,   379,
  1545.    515,     0,     0,     0,     0,     0,   512,     0,     0,   513,
  1546.    514,     0,     0,     0,   354,    64,     0,     0,     0,     0,
  1547.      0,    64,    19,     0,   788,    64,     0,     0,   115,   115,
  1548.      0,     0,    21,     0,    22,     0,     0,     0,     0,    64,
  1549.      0,    64,    64,     0,     0,     0,   377,     0,   586,     0,
  1550.      0,     0,     0,     0,     0,     0,   378,     0,     0,    64,
  1551.     64,   115,     0,     0,    26,     0,     0,     0,     0,   141,
  1552.      0,     0,     0,     0,   374,   376,   379,     0,   196,     0,
  1553.      0,     8,     0,    10,    11,    64,     0,     0,     0,    12,
  1554.    475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
  1555.    485,   486,     0,    64,    15,     0,     0,     0,    16,     0,
  1556.      0,     0,    17,    64,   197,   198,   116,   788,   788,     0,
  1557.      0,   199,     0,     0,     0,     0,     0,     0,    21,     0,
  1558.     93,     0,   200,   150,   201,   202,   203,     0,   204,   205,
  1559.    206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
  1560.    216,   217,   218,   219,   220,   221,     0,     0,   222,   223,
  1561.    224,     0,     0,   225,     0,     0,   226,    42,    42,   110,
  1562.    110,     0,   190,     0,    42,   844,   844,   844,     0,     0,
  1563.      0,   227,     0,     0,   150,     0,     0,     0,     0,     0,
  1564.      0,     0,     0,     0,     0,     0,     0,   116,   116,     0,
  1565.      0,     0,     0,    42,   530,    64,    42,     0,    42,     0,
  1566.    150,     0,     0,     0,  -301,     8,  -301,    10,   184,     0,
  1567.      0,   788,   788,    12,     0,     0,     0,     0,   150,   150,
  1568.    380,     0,    64,     0,     0,    64,     0,     0,    15,    64,
  1569.      0,     0,    16,     0,     0,     0,    17,     0,     0,     0,
  1570.      0,     0,  -301,     0,   150,   509,     0,     0,   582,     0,
  1571.      0,     0,    21,     0,    93,     0,     0,     0,     0,     0,
  1572.      0,     0,     0,     0,     0,   190,   510,     0,     0,    64,
  1573.     64,    64,    64,    42,     0,     0,   511,    64,     0,     0,
  1574.      0,     0,     0,    64,  -301,    64,   512,   115,   115,   513,
  1575.    514,     0,     0,     0,    64,     0,     0,     0,     0,     0,
  1576.     64,     0,     0,    64,    42,    42,    42,     0,     0,     0,
  1577.    433,     0,     0,     0,     0,     0,     0,     0,    42,    42,
  1578.      0,    42,    64,    64,     0,    64,     0,     0,     0,     0,
  1579.      0,     0,     0,     0,     0,     0,     0,     0,     7,     8,
  1580.     83,    10,   436,   233,   234,     0,   235,    12,     0,     0,
  1581.     42,     0,    83,    83,     0,    83,   517,   517,   517,     0,
  1582.      0,     0,    15,   236,   150,     0,    16,     0,   239,     0,
  1583.     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  1584.    177,   245,   246,   247,   248,   249,    21,     0,    22,     0,
  1585.      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
  1586.    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  1587.    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  1588.      0,     0,   844,   437,     0,     0,     0,     0,     0,    83,
  1589.    790,    83,    83,    83,     0,     0,    83,    83,   604,   260,
  1590.    604,   604,   517,     0,     7,     8,   158,   159,   160,     0,
  1591.      0,     0,   150,    12,   150,     0,   380,   380,     0,     0,
  1592.     64,     0,     0,   150,     0,     0,     0,     0,     0,   150,
  1593.      0,     0,   150,     0,   148,     0,    17,     0,     0,     0,
  1594.      0,     0,    19,     0,     0,   509,     0,     0,     0,     0,
  1595.      0,   150,    21,     0,    22,     0,   191,   844,   844,   844,
  1596.      0,     0,     0,     0,     0,     0,   600,     0,     0,     0,
  1597.     64,    64,   115,     0,     0,   191,   601,     0,   846,     0,
  1598.      0,    83,     0,     0,    26,   148,   512,     0,     0,   602,
  1599.    514,     0,     0,     0,    64,    64,   100,    64,   159,   160,
  1600.      0,    42,     0,     0,    12,     0,     7,     8,     0,     0,
  1601.    423,   148,     0,     0,     0,     8,    92,    10,    11,    83,
  1602.      0,  1335,     0,    12,     0,     0,   115,    17,     0,   148,
  1603.    148,   148,     0,     0,     7,     8,   509,   754,    15,   389,
  1604.      0,     0,    16,    21,    19,    93,    17,     0,     0,   517,
  1605.    517,     0,   517,     0,    21,   148,    22,   510,     0,   517,
  1606.    790,     0,    21,    83,    93,    83,    83,   511,   139,     0,
  1607.      7,     8,    19,     0,     0,     0,     0,   512,   140,     0,
  1608.    513,   514,    21,     0,    22,   191,    26,  1092,     0,   604,
  1609.      0,   141,     0,     0,    83,     0,   139,     0,     0,     0,
  1610.     83,     0,     0,    83,     0,     0,   140,    83,    19,     0,
  1611.      0,     0,     0,     0,    26,     0,     0,     0,    21,   141,
  1612.     22,     8,    92,    10,    11,     0,     0,     0,     0,    12,
  1613.      0,     0,   377,     0,     0,     0,     0,     0,     0,   604,
  1614.    604,   839,   378,     0,    15,     0,     0,   839,    16,     0,
  1615.     26,     0,    17,   790,   790,   141,     0,     0,     0,     0,
  1616.      0,   530,     0,   150,   150,     0,   150,     0,    21,     0,
  1617.     93,     0,     0,   191,     0,   148,     0,     0,     0,     0,
  1618.      0,     0,     0,     0,     0,   582,     0,     0,     0,     0,
  1619.      0,     0,     0,     0,     0,   380,     0,     0,     0,     0,
  1620.      0,     0,     0,    64,    64,   115,   115,     0,     0,     0,
  1621.     64,   846,   846,   846,   517,     0,     0,     0,     0,     0,
  1622.     83,     0,     0,     0,   433,   433,   433,     0,     0,     0,
  1623.      0,     0,     0,     0,     0,     0,     0,     0,     0,    64,
  1624.      0,     0,    64,     0,    64,     0,     0,     0,     0,   148,
  1625.      0,   148,   148,     0,     0,     0,     0,   790,   790,   518,
  1626.    522,   524,     0,   148,     0,   148,     0,   148,   148,     0,
  1627.      0,     0,     0,     0,   148,     0,     0,     0,     0,     0,
  1628.    148,     0,     0,   148,     0,     0,    83,     0,     0,     0,
  1629.      0,     0,    62,     0,     0,     0,    83,     0,    83,    83,
  1630.      0,     0,   148,     0,     0,   517,     0,   517,     0,     0,
  1631.      0,     0,   102,   106,     0,     0,     0,     0,   517,    64,
  1632.      0,   125,   517,   517,   517,     0,     0,     0,     0,     0,
  1633.      0,     0,     0,     0,   157,     0,     0,     0,     0,   177,
  1634.      0,   605,     0,   518,   522,   524,     0,     0,     0,     0,
  1635.     64,    64,    64,     0,     0,     0,     0,     0,     0,     0,
  1636.      0,     0,     0,     0,    64,    64,     0,    64,     8,   151,
  1637.     10,   152,   604,   604,   839,   839,    12,     0,     0,   604,
  1638.    839,   839,   839,     0,     0,     0,     0,     0,     0,   305,
  1639.      0,    15,     0,   307,     0,    16,    64,     0,     0,    17,
  1640.      0,     0,     0,     0,     0,     0,     0,    62,   150,     0,
  1641.    329,     0,     0,   191,     0,    21,     0,    93,     0,     0,
  1642.      0,     0,     0,     0,     0,     0,     0,   102,   106,     0,
  1643.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1644.    148,   473,   474,   475,   476,   477,   478,   479,   480,   481,
  1645.    482,   483,   484,   485,   486,   754,   754,     0,   754,     0,
  1646.      0,     0,     0,    83,     0,     0,     0,     0,   846,     0,
  1647.      0,   418,     0,    83,    83,    83,   517,   517,     0,     0,
  1648.      0,   424,     0,     0,     0,     0,     0,     0,     0,     0,
  1649.    148,   148,   837,   769,     0,   771,     0,     0,   837,     0,
  1650.      0,     0,   771,     0,     0,     0,     0,     0,     0,     0,
  1651.      0,     0,     0,     0,   148,   148,     0,   148,     0,   150,
  1652.      0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
  1653.      0,     0,   522,   604,   604,     0,   604,     0,     0,     0,
  1654.      0,     0,     0,   846,   846,   846,   837,     0,     0,     0,
  1655.      0,     0,     0,     0,    83,     0,    83,     0,     0,     0,
  1656.      0,     0,     0,     0,     0,     0,     0,    83,   472,   473,
  1657.    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  1658.    484,   485,   486,   769,   771,     0,     0,    64,     7,     8,
  1659.    771,    10,   436,   233,   234,     0,   235,    12,     0,     0,
  1660.    556,     0,     0,   557,     0,     0,     0,   558,     0,     0,
  1661.      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  1662.     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  1663.      0,   245,   246,   247,   248,   249,    21,   380,    22,     0,
  1664.      0,     0,     0,     0,     0,     0,     0,     0,   606,     0,
  1665.      0,     0,     0,     0,     0,   616,     0,   522,     0,     0,
  1666.     83,   305,     0,   307,     0,     0,   255,   256,   257,     0,
  1667.      0,     0,     0,   258,     0,     0,     0,   259,   424,     0,
  1668.      0,     0,     0,     0,     0,     0,     0,     0,     0,   260,
  1669.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1670.    663,   666,     0,   418,    83,    83,     0,    83,     0,     0,
  1671.      0,     0,   380,   380,   380,     0,     0,     0,     0,     0,
  1672.      0,     0,     0,   148,   148,   148,   148,     0,   996,     0,
  1673.    148,   837,   837,   837,     0,     0,     0,     0,     0,     0,
  1674.      0,     0,     0,     0,     0,     0,     0,     0,   927,     0,
  1675.    928,     0,     0,     0,     0,     0,   150,     0,     0,   148,
  1676.      0,   932,     0,     0,     0,     0,   769,   771,     0,     0,
  1677.      0,     7,     8,    92,    10,    11,     0,     0,   353,     0,
  1678.     12,     0,     7,     8,   151,    10,   152,     0,     0,     0,
  1679.      0,    12,     0,     0,     0,    15,     0,     0,     0,    16,
  1680.      0,     0,     0,    17,     0,     0,    15,     0,     0,    19,
  1681.     16,     0,     0,     0,    17,   927,   928,     0,   769,    21,
  1682.     19,    22,   932,     0,   769,   771,     0,     0,     0,     0,
  1683.     21,   191,    22,   377,     0,   153,     0,     0,     0,     0,
  1684.      0,     0,     0,   378,    24,     0,     0,     0,     0,     0,
  1685.      0,    26,     0,     0,    25,     0,   141,     0,     0,     0,
  1686.      0,   354,    26,     0,     0,     0,     0,    27,     0,     0,
  1687.    148,     0,   148,     0,     0,     0,     0,     0,     0,     0,
  1688.      0,     0,     0,     0,   148,   148,     0,   148,   102,   106,
  1689.    467,     0,   468,   469,   470,   471,   472,   473,   474,   475,
  1690.    476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
  1691.    486,     0,   556,   557,     0,   558,     0,     0,     0,  1101,
  1692.    769,   962,     8,    92,    10,   232,   233,   234,     0,   235,
  1693.     12,   963,     0,   964,   965,   966,   967,   968,   969,   970,
  1694.    971,   972,   973,    13,    14,    15,   236,   237,   238,    16,
  1695.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1696.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1697.      0,   974,   346,     0,   975,     0,   927,   928,     0,   932,
  1698.    250,     0,     0,   251,     0,     0,     0,     0,   837,     0,
  1699.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1700.    256,   257,     0,     0,     0,     0,   258,     0,   976,   454,
  1701.    259,     7,     8,    92,    10,   232,   233,   234,   353,   235,
  1702.     12,  1102,   260,     0,     0,     0,     0,     0,     0,     0,
  1703.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1704.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1705.    243,   244,   509,     0,   245,   246,   247,   248,   249,    21,
  1706.      0,    22,  -234,   837,   837,   837,     0,     0,     0,     0,
  1707.    250,     0,     0,   937,     0,     0,     0,     0,     0,     0,
  1708.      0,   252,   253,   938,  1160,     0,     0,     0,     0,   255,
  1709.    256,   257,     0,   512,     0,     0,   785,   514,     0,     0,
  1710.    259,   354,     0,     0,     0,     0,     0,   148,     0,     0,
  1711.      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1712.      0,   305,   307,     0,     0,     0,     0,     0,   424,     0,
  1713.      0,   465,   466,   467,  1161,   468,   469,   470,   471,   472,
  1714.    473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
  1715.    483,   484,   485,   486,     0,     0,     0,  1022,     0,     0,
  1716.   1022,  1251,   418,   962,     8,    92,    10,   232,   233,   234,
  1717.      0,   235,    12,   963,     0,   964,   965,   966,   967,   968,
  1718.    969,   970,   971,   972,   973,    13,    14,    15,   236,   237,
  1719.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  1720.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  1721.    249,    21,     0,   974,   346,     0,   975,     0,     0,     0,
  1722.      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  1723.      0,     0,     0,   252,   253,   254,     0,   418,     0,     0,
  1724.      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  1725.    976,     0,   259,     0,     0,     0,     0,     0,     0,     0,
  1726.      0,     0,     0,  1252,   260,     0,     0,     0,     0,  1097,
  1727.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1728.      0,     0,   556,   557,     0,   558,     0,     0,     0,     0,
  1729.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1730.      0,  1273,     0,   962,     8,    92,    10,   232,   233,   234,
  1731.      0,   235,    12,   963,   418,   964,   965,   966,   967,   968,
  1732.    969,   970,   971,   972,   973,    13,    14,    15,   236,   237,
  1733.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  1734.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  1735.    249,    21,     0,   974,   346,     0,   975,     0,     0,     0,
  1736.      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  1737.      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  1738.      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  1739.    976,     0,   259,     0,     0,     0,     0,     0,     0,     0,
  1740.      0,     0,     0,  1274,   260,  1273,     0,   962,     8,    92,
  1741.     10,   232,   233,   234,     0,   235,    12,   963,     0,   964,
  1742.    965,   966,   967,   968,   969,   970,   971,   972,   973,    13,
  1743.     14,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  1744.      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  1745.    245,   246,   247,   248,   249,    21,     0,   974,   346,     0,
  1746.    975,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  1747.      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  1748.      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  1749.      0,     0,   258,     0,   976,     0,   259,     0,     0,     0,
  1750.      0,     0,     0,     0,     0,     0,     0,  1279,   260,  1273,
  1751.      0,   962,     8,    92,    10,   232,   233,   234,     0,   235,
  1752.     12,   963,     0,   964,   965,   966,   967,   968,   969,   970,
  1753.    971,   972,   973,    13,    14,    15,   236,   237,   238,    16,
  1754.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1755.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1756.      0,   974,   346,     0,   975,     0,     0,     0,     0,     0,
  1757.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1758.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1759.    256,   257,     0,     0,     0,     0,   258,     0,   976,     0,
  1760.    259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1761.      0,  1318,   260,   961,     0,   962,     8,    92,    10,   232,
  1762.    233,   234,     0,   235,    12,   963,     0,   964,   965,   966,
  1763.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1764.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1765.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1766.    247,   248,   249,    21,     0,   974,   346,     0,   975,     0,
  1767.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1768.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1769.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1770.    258,     0,   976,  1245,   259,   962,     8,    92,    10,   232,
  1771.    233,   234,     0,   235,    12,   963,   260,   964,   965,   966,
  1772.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1773.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1774.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1775.    247,   248,   249,    21,     0,   974,   346,     0,   975,     0,
  1776.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1777.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1778.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1779.    258,     0,   976,  1306,   259,   962,     8,    92,    10,   232,
  1780.    233,   234,     0,   235,    12,   963,   260,   964,   965,   966,
  1781.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1782.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1783.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1784.    247,   248,   249,    21,     0,   974,   346,     0,   975,     0,
  1785.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1786.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1787.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1788.    258,     0,   976,   454,   259,     7,     8,    92,    10,   232,
  1789.    233,   234,   353,   235,    12,     0,   260,     0,     0,     0,
  1790.      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  1791.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1792.    241,     0,   242,    19,   243,   244,   509,     0,   245,   246,
  1793.    247,   248,   249,    21,     0,    22,  -234,     0,     0,     0,
  1794.      0,     0,     0,     0,   250,     0,     0,   841,     0,     0,
  1795.      0,     0,     0,     0,     0,   252,   253,   842,     0,     0,
  1796.      0,     0,     0,   255,   256,   257,     0,   512,     0,     0,
  1797.    843,   514,     0,     0,   259,   354,     0,     0,     0,     0,
  1798.      0,     0,     0,     0,     0,   352,   260,     7,     8,    92,
  1799.     10,   232,   233,   234,   353,   235,    12,     0,     0,     0,
  1800.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1801.      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  1802.      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  1803.    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  1804.      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  1805.      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  1806.      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  1807.      0,     0,   258,     0,     0,     0,   259,   354,     0,     0,
  1808.      0,     0,     0,     0,     0,     0,  -662,   631,   260,     7,
  1809.      8,    92,    10,   232,   233,   234,   353,   235,    12,     0,
  1810.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1811.      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
  1812.      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  1813.      0,     0,   245,   246,   247,   248,   249,    21,     0,    22,
  1814.      0,     0,     0,     0,     0,     0,     0,     0,   250,     0,
  1815.      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  1816.    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  1817.      0,     0,     0,     0,   258,     0,     0,     0,   259,   354,
  1818.      0,     0,     0,     0,     0,     0,     0,     0,  -662,   584,
  1819.    260,   708,   709,     0,    10,   436,   233,   234,     0,   235,
  1820.     12,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1821.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1822.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1823.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1824.      0,   710,   585,     0,     0,     0,     0,     0,     0,     0,
  1825.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1826.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1827.    256,   257,     0,     0,     0,     0,   258,   711,     0,   584,
  1828.    259,   708,   709,     0,    10,   436,   233,   234,     0,   235,
  1829.     12,   822,   260,     0,     0,     0,     0,  1038,     0,     0,
  1830.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1831.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1832.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1833.      0,   710,   585,     0,     0,     0,     0,     0,     0,     0,
  1834.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1835.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1836.    256,   257,     0,     0,     0,     0,   258,     0,     0,   584,
  1837.    259,   708,   709,     0,    10,   436,   233,   234,     0,   235,
  1838.     12,  -381,   260,     0,     0,     0,     0,  1038,     0,     0,
  1839.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1840.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1841.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1842.      0,   710,   585,     0,     0,     0,     0,     0,     0,     0,
  1843.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1844.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1845.    256,   257,     0,     0,     0,     0,   258,     0,     0,  1154,
  1846.    259,     7,     8,    92,    10,   232,   233,   234,     0,   235,
  1847.     12,  1068,   260,     0,     0,     0,     0,     0,     0,     0,
  1848.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1849.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1850.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1851.      0,    22,  1155,     0,  1156,     0,     0,     0,     0,     0,
  1852.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1853.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1854.    256,   257,     0,     0,     0,     0,   258,     0,     0,   454,
  1855.    259,     7,     8,     0,    10,   232,   233,   234,     0,   235,
  1856.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1857.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1858.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1859.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1860.      0,    22,  -234,     0,     0,     0,     0,     0,     0,     0,
  1861.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1862.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1863.    256,   257,     0,     0,     0,     0,   258,     0,     0,   584,
  1864.    259,     7,     8,     0,    10,   436,   233,   234,     0,   235,
  1865.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1866.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1867.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1868.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1869.      0,    22,   585,     0,     0,     0,     0,     0,     0,     0,
  1870.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1871.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1872.    256,   257,     0,     0,     0,     0,   258,     0,     0,   718,
  1873.    259,     7,     8,     0,    10,   436,   233,   234,     0,   235,
  1874.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1875.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1876.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1877.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1878.      0,    22,     0,     0,     0,     0,     0,     0,  -652,     0,
  1879.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1880.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1881.    256,   257,     0,     0,     0,     0,   258,     0,     0,   454,
  1882.    259,     7,     8,     0,    10,   232,   233,   234,     0,   235,
  1883.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1884.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1885.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1886.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1887.      0,    22,  -234,     0,     0,     0,     0,     0,     0,     0,
  1888.    250,     0,     0,  1173,     0,     0,     0,     0,     0,     0,
  1889.      0,   252,   253,  1174,     0,     0,     0,     0,     0,   255,
  1890.    256,   257,     0,     0,     0,     0,  1175,     0,     0,  1225,
  1891.    259,     7,     8,     0,    10,   232,   233,   234,     0,   235,
  1892.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1893.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1894.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1895.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1896.      0,    22,     0,     0,  -136,     0,     0,     0,     0,     0,
  1897.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1898.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1899.    256,   257,     0,     0,     0,     0,   258,     0,     0,   718,
  1900.    259,     7,     8,     0,    10,   436,   233,   234,     0,   235,
  1901.     12,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  1902.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  1903.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  1904.    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
  1905.      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  1906.    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
  1907.      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
  1908.    256,   257,     0,     0,     0,     0,   258,     0,     0,     0,
  1909.    259,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1910.   -652,   797,   260,     7,     8,     0,    10,   436,   233,   234,
  1911.      0,   235,    12,     0,     0,     0,     0,     0,     0,     0,
  1912.      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
  1913.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  1914.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  1915.    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  1916.      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  1917.      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  1918.      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  1919.      0,   799,   259,     7,     8,     0,    10,   436,   233,   234,
  1920.      0,   235,    12,     0,   260,     0,     0,     0,     0,     0,
  1921.      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
  1922.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  1923.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  1924.    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  1925.      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  1926.      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  1927.      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  1928.      7,     8,   259,    10,   436,   233,   234,     0,   235,    12,
  1929.      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
  1930.      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  1931.    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  1932.    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  1933.     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
  1934.      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
  1935.    252,   253,   254,     0,     0,     0,     0,     0,   255,   256,
  1936.    257,     0,     0,     0,     0,   258,     0,     0,     0,   259,
  1937.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1938.      0,   260,   757,   962,     8,    92,    10,   232,   233,   234,
  1939.      0,   235,    12,   963,     0,   964,   965,   966,   967,   968,
  1940.    969,   970,   971,   972,   973,    13,    14,    15,   236,   237,
  1941.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  1942.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  1943.    249,    21,     0,   974,   346,     0,   975,     0,     0,     0,
  1944.      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
  1945.      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
  1946.      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
  1947.    976,     0,   259,     0,     0,     0,     0,     0,     0,     0,
  1948.      0,     0,     0,  1106,   260,   962,     8,    92,    10,   232,
  1949.    233,   234,     0,   235,    12,   963,     0,   964,   965,   966,
  1950.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1951.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1952.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1953.    247,   248,   249,    21,     0,   974,   346,     0,   975,     0,
  1954.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1955.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1956.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1957.    258,     0,   976,     0,   259,   962,     8,    92,    10,   232,
  1958.    233,   234,     0,   235,    12,   963,   260,   964,   965,   966,
  1959.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1960.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1961.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1962.    247,   248,   249,    21,     0,   974,  1266,     0,   975,     0,
  1963.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1964.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1965.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1966.    258,     0,   976,     0,   259,   962,     8,    92,    10,   232,
  1967.    233,   234,     0,   235,    12,   963,   260,   964,   965,   966,
  1968.    967,   968,   969,   970,   971,   972,   973,    13,    14,    15,
  1969.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1970.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  1971.    247,   248,   249,    21,     0,   974,     0,     0,   975,     0,
  1972.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  1973.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  1974.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  1975.    258,     0,   976,     0,   259,     7,     8,    92,    10,   232,
  1976.    233,   234,   353,   235,    12,     0,   260,     0,     0,     0,
  1977.      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  1978.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  1979.    241,     0,   242,    19,   243,   244,   509,     0,   245,   246,
  1980.    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
  1981.      0,     0,     0,     0,   250,     0,     0,   783,     0,     0,
  1982.      0,     0,     0,     0,     0,   252,   253,   784,     0,     0,
  1983.      0,     0,     0,   255,   256,   257,     0,   512,     0,     0,
  1984.    785,   514,     0,     0,   259,   354,     7,     8,    92,    10,
  1985.    232,   233,   234,   353,   235,    12,   260,     0,     0,     0,
  1986.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1987.     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  1988.    240,   241,     0,   242,    19,   243,   244,   509,     0,   245,
  1989.    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  1990.      0,     0,     0,     0,     0,   250,     0,     0,   841,     0,
  1991.      0,     0,     0,     0,     0,     0,   252,   253,   842,     0,
  1992.      0,     0,     0,     0,   255,   256,   257,     0,   512,     0,
  1993.      0,   843,   514,     0,     0,   259,   354,     7,     8,     0,
  1994.     10,   232,   233,   234,     0,   235,    12,   260,     0,     0,
  1995.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1996.      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  1997.      0,   240,   241,     0,   242,    19,   243,   244,   509,     0,
  1998.    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  1999.      0,     0,     0,     0,     0,     0,   250,     0,     0,   783,
  2000.      0,     0,     0,     0,     0,     0,     0,   252,   253,   784,
  2001.      0,     0,     0,     0,     0,   255,   256,   257,     0,   512,
  2002.      0,     0,   785,   514,     7,     8,     0,    10,   232,   233,
  2003.    234,     0,   235,    12,     0,     0,     0,     0,   260,     0,
  2004.      0,     0,     0,     0,     0,     0,     0,     0,    15,   236,
  2005.    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
  2006.      0,   242,    19,   243,   244,   509,     0,   245,   246,   247,
  2007.    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
  2008.      0,     0,     0,   250,     0,     0,   841,     0,     0,     0,
  2009.      0,     0,     0,     0,   252,   253,   842,     0,     0,     0,
  2010.      0,     0,   255,   256,   257,     0,   512,     0,     0,   843,
  2011.    514,     7,     8,     0,    10,   232,   233,   234,     0,   235,
  2012.     12,     0,     0,     0,     0,   260,     0,     0,     0,     0,
  2013.      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
  2014.      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
  2015.    243,   244,   509,     0,   245,   246,   247,   248,   249,    21,
  2016.      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
  2017.    250,     0,     0,   937,     0,     0,     0,     0,     0,     0,
  2018.      0,   252,   253,   938,     0,     0,     0,     0,     0,   255,
  2019.    256,   257,     0,   512,     0,     0,   785,   514,     7,     8,
  2020.      0,    10,   436,   233,   234,     0,   235,    12,     0,     0,
  2021.      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
  2022.      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
  2023.     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
  2024.      0,   245,   246,   247,   248,   249,    21,     0,    22,     0,
  2025.      0,  1083,     0,     0,     0,     0,     0,   250,     0,     0,
  2026.    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
  2027.    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
  2028.      0,     0,     0,   258,     0,     7,     8,   259,    10,   232,
  2029.    233,   234,     0,   235,    12,     0,     0,     0,     0,   260,
  2030.      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
  2031.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  2032.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  2033.    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
  2034.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  2035.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  2036.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  2037.    258,     0,     7,     8,   259,    10,   436,   233,   234,     0,
  2038.    235,    12,     0,     0,     0,     0,   260,     0,     0,     0,
  2039.      0,     0,     0,     0,     0,     0,    15,   236,   237,   238,
  2040.     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
  2041.     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
  2042.     21,     0,    22,   462,     0,     0,     0,     0,     0,     0,
  2043.      0,   250,     0,     0,   251,     0,     0,     0,     0,     0,
  2044.      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
  2045.    255,   256,   257,     0,     0,     7,     8,   463,    10,   436,
  2046.    233,   234,     0,   235,    12,     0,     0,     0,     0,     0,
  2047.      0,     0,     0,   260,     0,     0,     0,     0,     0,    15,
  2048.    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
  2049.    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
  2050.    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
  2051.      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
  2052.      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
  2053.      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
  2054.    258,   499,     7,     8,     0,    10,   436,   233,   234,     0,
  2055.    235,    12,     0,     0,     0,     0,   260,     0,     0,     0,
  2056.      0,     0,     0,     0,     0,     0,    15,   236,   237,   238,
  2057.     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
  2058.     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
  2059.     21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
  2060.      0,   250,     0,     0,   251,     0,     0,     0,     0,     0,
  2061.      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
  2062.    255,   256,   257,     0,     0,     0,     0,   258,     0,     7,
  2063.    694,   259,    10,   436,   233,   234,     0,   235,    12,     0,
  2064.      0,     0,     0,   260,     0,     0,     0,     0,     0,     0,
  2065.      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
  2066.      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
  2067.      0,     0,   245,   246,   247,   248,   249,    21,     0,    22,
  2068.      0,     0,     0,     0,     0,     0,     0,     0,   250,     0,
  2069.      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
  2070.    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
  2071.      0,     0,     0,     0,   258,     0,     7,     8,   259,    10,
  2072.    436,   233,   234,     0,   235,    12,     0,     0,     0,     0,
  2073.    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  2074.     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
  2075.    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  2076.    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  2077.      0,     0,     0,     0,     0,   250,     0,     0,   887,     0,
  2078.      0,     0,     0,     0,     0,     0,   252,   253,   888,     0,
  2079.      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  2080.      0,   258,     0,     7,     8,   259,    10,   436,   233,   234,
  2081.      0,   235,    12,     0,     0,     0,     0,   260,     0,     0,
  2082.      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
  2083.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  2084.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  2085.    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  2086.      0,     0,   250,     0,     0,  1173,     0,     0,     0,     0,
  2087.      0,     0,     0,   252,   253,  1174,     0,     0,     0,     0,
  2088.      0,   255,   256,   257,     0,     0,     0,     0,  1175,     0,
  2089.   1238,     8,   259,    10,   436,   233,   234,     0,   235,    12,
  2090.      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
  2091.      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  2092.    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  2093.    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  2094.     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
  2095.      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
  2096.    252,   253,   254,     0,     0,     0,     0,     0,   255,   256,
  2097.    257,     0,     0,     0,     0,   258,     0,     7,     8,   259,
  2098.     10,   436,   233,   234,     0,   235,    12,     0,     0,     0,
  2099.      0,   260,     0,     0,     0,     0,     0,     0,     0,     0,
  2100.      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
  2101.      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
  2102.    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
  2103.      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
  2104.      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
  2105.      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
  2106.      7,     8,   258,    10,   436,   233,   234,     0,   235,    12,
  2107.      0,     0,     0,     0,     0,     0,     0,     0,   260,     0,
  2108.      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
  2109.    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
  2110.    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
  2111.     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
  2112.      0,     0,   887,     0,     0,     0,     0,     0,     0,     0,
  2113.    252,   253,   888,     0,     0,     0,     0,     0,   255,   256,
  2114.    257,     0,     0,     7,     8,   258,    10,   232,   233,   234,
  2115.      0,   235,    12,     0,     0,     0,     0,     0,     0,     0,
  2116.      0,   260,     0,     0,     0,     0,     0,    15,   236,   237,
  2117.    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
  2118.    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
  2119.    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
  2120.      0,     0,   250,     0,     0,  1173,     0,     0,     0,     0,
  2121.      0,     0,     0,   252,   253,  1174,     0,     0,     0,     0,
  2122.      0,   255,   256,   257,     0,     0,     7,     8,  1175,    10,
  2123.    436,   233,   234,     0,   235,    12,     0,     0,     0,     0,
  2124.      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
  2125.     15,   236,     0,     0,    16,     0,   239,     0,    17,     0,
  2126.    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
  2127.    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
  2128.      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
  2129.      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
  2130.      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
  2131.      0,   440,     7,     8,    92,    10,    11,     0,     0,   615,
  2132.      0,    12,     0,     0,     0,     0,     0,   260,     0,   652,
  2133.      8,   151,    10,   152,     0,     0,    15,     0,    12,     0,
  2134.     16,     0,     0,     0,    17,     0,     0,     0,     0,     0,
  2135.     19,     0,     0,    15,     0,     0,     0,    16,     0,     0,
  2136.     21,    17,    22,     0,     0,     0,     0,    19,     0,     0,
  2137.      0,     0,     0,     0,    24,     0,     0,    21,     0,    22,
  2138.      0,     0,     0,     0,    25,     0,   655,     0,     0,     0,
  2139.      0,    24,    26,     0,     0,     0,     0,    27,     0,     0,
  2140.      0,    25,     7,     8,   151,    10,   152,     0,     0,    26,
  2141.      0,    12,     0,     0,    27,     0,     0,     0,     0,     7,
  2142.      8,   151,    10,   152,     0,     0,    15,     0,    12,     0,
  2143.     16,     0,     0,     0,    17,     0,     0,     0,     0,     0,
  2144.     19,     0,     0,    15,     0,     0,     0,    16,     0,     0,
  2145.     21,    17,    22,     0,     0,  1095,     0,    19,     0,     0,
  2146.      0,     0,     0,     0,    24,     0,     0,    21,     0,    22,
  2147.      0,     0,     0,     0,    25,     0,     0,     0,     0,     0,
  2148.      0,    24,    26,     0,     0,     0,     0,    27,     0,     0,
  2149.      0,    25,     0,     0,     0,     0,     0,     0,     0,    26,
  2150.    679,   465,   466,   467,    27,   468,   469,   470,   471,   472,
  2151.    473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
  2152.    483,   484,   485,   486,     0,   465,   466,   467,     0,   468,
  2153.    469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
  2154.    479,   480,   481,   482,   483,   484,   485,   486,   542,  1036,
  2155.    465,   466,   467,     0,   468,   469,   470,   471,   472,   473,
  2156.    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  2157.    484,   485,   486,   465,   466,   467,  1200,   468,   469,   470,
  2158.    471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
  2159.    481,   482,   483,   484,   485,   486,   465,   466,   467,  1249,
  2160.    468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
  2161.    478,   479,   480,   481,   482,   483,   484,   485,   486,   465,
  2162.    466,   467,     0,   468,   469,   470,   471,   472,   473,   474,
  2163.    475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
  2164.    485,   486,   465,   466,   467,     0,   468,   469,   470,   471,
  2165.    472,   473,   474,   475,   476,     0,   478,   479,   480,   481,
  2166.    482,   483,   484,   485,   486,   469,   470,   471,   472,   473,
  2167.    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
  2168.    484,   485,   486,   470,   471,   472,   473,   474,   475,   476,
  2169.    477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
  2170.    471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
  2171.    481,   482,   483,   484,   485,   486
  2172. };
  2173.  
  2174. static const short yycheck[] = {     4,
  2175.      4,   130,   131,   136,   278,   415,    70,    12,   117,   299,
  2176.    346,    12,   299,   265,   136,    20,    20,   108,   109,    24,
  2177.     25,     4,    27,    87,     4,    52,   338,   188,    33,    33,
  2178.    388,    12,   647,   154,    98,   284,   284,   299,   131,    44,
  2179.     20,    46,   746,   387,  1043,   129,    71,    52,  1151,   134,
  2180.      9,    52,   983,    33,    59,   812,    20,  1179,   983,   990,
  2181.     44,     9,   161,   162,   181,    70,    71,    60,     9,    34,
  2182.      0,    52,    77,    77,     7,  1212,    48,   367,    55,    10,
  2183.    367,    34,    87,    10,  1159,  1222,    56,     0,   362,    56,
  2184.     95,    96,    54,    98,   406,    55,   101,    77,    60,   104,
  2185.    105,    62,     4,   108,   109,     7,   107,    36,    45,   102,
  2186.     70,    95,    60,    77,   119,   119,   121,   122,    36,     1,
  2187.   1242,    54,    92,    44,    55,    92,   103,    60,    55,    60,
  2188.   1205,    58,   136,    60,   139,   140,   141,   121,   103,   119,
  2189.   1243,  1140,    44,   102,     3,     4,     5,     6,     7,    51,
  2190.    103,    53,    10,  1275,   102,  1292,   514,    76,     4,    92,
  2191.    165,   102,    93,    65,   125,   439,    93,    88,    89,    88,
  2192.     89,   102,    54,    75,   103,   336,    35,   299,   183,   183,
  2193.     99,   142,   154,    85,   301,   103,    88,    89,   193,   161,
  2194.    162,    51,    51,   950,    53,    54,   157,    55,     4,   154,
  2195.     44,   286,    60,   183,    56,   188,   910,    53,    60,    69,
  2196.     37,     3,     4,   185,   343,   344,   345,   136,     4,    66,
  2197.    284,  1324,  1325,    23,    51,   230,   231,    88,     4,    75,
  2198.    185,  1162,     4,    88,    44,    93,   397,     3,    85,    98,
  2199.     99,   100,   102,    56,    88,   367,   271,    53,     4,   250,
  2200.    343,   344,    44,   136,   387,     4,   103,   229,   342,    51,
  2201.     60,    53,     6,     7,    55,   387,   271,    53,    12,    75,
  2202.    275,   392,   277,   278,   279,    51,     4,    53,    88,     7,
  2203.    285,    53,   531,    88,    89,    44,   377,   378,  1219,    65,
  2204.    103,    35,   391,   392,   299,   299,    88,    53,    60,    75,
  2205.     44,   285,   149,    75,    53,    69,   278,   312,    44,    88,
  2206.    315,   102,   656,    89,   319,  1246,    51,    56,   323,   323,
  2207.    419,  1246,  1253,    51,    56,    53,    75,   456,  1253,    88,
  2208.     89,     3,     4,   948,    69,   647,    55,    65,    54,   258,
  2209.    102,    56,  1046,   323,    88,     4,  1277,    75,   195,     3,
  2210.      4,    70,    88,   336,   359,   360,   361,   362,   363,   323,
  2211.     44,    89,   367,   367,   103,    51,   102,   328,   373,    54,
  2212.    375,   103,   377,   378,    55,   359,  1307,   361,   362,   384,
  2213.    299,    53,  1307,   387,    55,   390,   103,    41,   393,    70,
  2214.    362,   513,    51,    54,    53,     3,     4,   102,   520,    53,
  2215.    383,   406,   563,    75,    88,    89,    65,   412,   413,    56,
  2216.    415,   415,     3,     4,   397,   420,    75,    56,   102,   391,
  2217.    392,    75,     3,     4,   782,    44,   102,     4,   412,    83,
  2218.      7,   102,   102,    41,    55,   415,   283,   781,     4,    58,
  2219.    401,   446,   447,   448,   449,    53,   102,   419,   367,   102,
  2220.     41,    27,     9,   258,    56,    44,   103,   418,   341,   306,
  2221.    589,   462,    53,   103,   103,    31,    92,    27,   387,    88,
  2222.      4,   496,    53,     7,    51,    83,    53,     3,    56,   640,
  2223.    602,   102,    55,    97,    75,    51,   608,    53,    65,    56,
  2224.     55,   496,    83,   498,   105,    97,   589,    70,    75,    88,
  2225.     89,   420,    60,   815,   387,   510,   511,    89,   513,   513,
  2226.     44,   801,   673,   102,   801,   520,   520,    51,   437,    53,
  2227.     44,   440,    60,   656,   551,   103,   445,   446,   447,   448,
  2228.    449,    65,   108,   109,   656,   787,   103,   102,   637,   801,
  2229.    459,    75,   791,   791,   463,   550,   551,   859,   108,   109,
  2230.    551,    85,   435,    56,    88,    89,    88,     3,     4,    25,
  2231.     26,   980,   920,   982,    88,   141,   550,   372,    60,   678,
  2232.    551,     3,     4,     5,     6,     7,   495,    69,   550,    44,
  2233.    563,   141,    44,    60,   585,   432,    44,    89,    54,   105,
  2234.    384,    88,    69,    58,    60,   600,   601,   602,   602,   393,
  2235.    103,    44,    44,   608,   608,    51,    44,    53,    54,   492,
  2236.     44,   494,   495,    25,    26,    58,  1026,    78,    79,   624,
  2237.    625,    53,   627,    88,    89,    44,    88,    89,    44,    88,
  2238.     88,   967,   437,     3,     4,   440,   948,   442,   443,   574,
  2239.    445,   915,   647,   526,    27,    88,    88,    54,   781,    54,
  2240.     88,   656,   656,    60,    88,    60,    69,   640,   463,   781,
  2241.     88,   508,   467,   785,    88,   637,   685,   686,   687,    88,
  2242.    675,    41,    88,    55,    56,     1,   523,    55,    56,   801,
  2243.    685,   686,   687,    53,    69,    92,     9,    92,   493,    51,
  2244.    673,    55,    56,   628,   499,   578,   657,    23,    60,    25,
  2245.     26,   662,   663,   675,   639,   666,    32,    69,   982,   870,
  2246.    871,    69,   873,    83,    69,     3,     4,    54,     6,    56,
  2247.     55,   843,     4,    60,   103,     7,   109,   791,    54,    55,
  2248.     56,   102,    58,   340,    60,     6,     7,   656,  1074,  1075,
  2249.    745,    12,    55,    56,   835,   836,   916,   917,   102,   919,
  2250.    841,   842,  1088,    41,    23,    25,    26,   102,   141,    55,
  2251.     56,   766,    44,   768,    35,    53,    92,     4,     5,    51,
  2252.    775,    53,  1108,  1109,   779,   102,   781,   781,   783,   784,
  2253.    785,   785,     3,    65,    54,    54,   791,    56,   103,    58,
  2254.     60,    60,     4,    75,    31,    83,   801,   801,    54,    36,
  2255.     12,   377,   378,    85,    55,    56,    88,    89,    20,     7,
  2256.      3,     4,    24,    25,    51,    27,    53,   377,   378,  1155,
  2257.     58,    33,   102,     3,     4,   826,   745,   102,   833,   834,
  2258.    835,   836,    44,    58,    46,   840,   841,   842,   843,   843,
  2259.     52,    55,    56,   102,    37,    38,    88,    59,    41,   102,
  2260.      5,     6,     7,   105,   859,   105,   775,    12,    51,    71,
  2261.     53,    41,   781,    32,   869,    77,   749,   872,   102,   874,
  2262.    874,   876,   807,    53,    75,    76,    77,    78,    79,   762,
  2263.     35,   764,   801,    95,    96,    25,    26,   870,   871,   101,
  2264.    873,   102,    32,   105,   874,    75,   108,   109,   105,    51,
  2265.     54,   902,    56,    83,   865,   105,    60,   119,    60,   121,
  2266.    122,   916,   917,   102,   919,    55,    56,    69,    58,     4,
  2267.      5,   105,   857,    51,    54,     6,    56,   139,   140,   141,
  2268.     60,   866,   937,   938,   817,    88,   819,    44,   821,   858,
  2269.    875,    44,  1216,   948,   949,   949,    31,  1076,   753,    51,
  2270.     58,    36,    56,   165,    55,    56,   957,   876,    60,    55,
  2271.   1121,  1122,    56,     5,     6,     7,    51,    69,    53,   949,
  2272.     12,   183,   973,  1324,  1325,   980,   981,   982,    81,    82,
  2273.    785,   193,    56,    86,    87,    88,    89,   235,   236,   994,
  2274.    995,   838,   997,    35,    56,   378,   980,    56,   982,    55,
  2275.      4,    58,     6,     7,  1286,  1287,    58,   102,    12,   102,
  2276.    982,  1172,   619,   102,   102,   105,    55,    88,   230,   231,
  2277.     60,  1026,  1026,    27,    55,    55,   602,    31,    60,  1030,
  2278.     88,    35,   608,    58,   102,   102,   102,  1327,   843,   102,
  2279.   1327,   102,   602,    70,    70,    55,  1026,    51,   608,    53,
  2280.   1179,   102,   102,   858,    70,    70,   102,    60,  1167,   271,
  2281.   1021,  1022,    60,    60,   136,   277,   278,   279,  1069,   102,
  2282.    105,    89,   284,   285,   102,  1010,  1011,    83,    44,   103,
  2283.    656,   102,  1173,  1174,    88,   102,   105,   299,  1023,  1024,
  2284.    102,   102,   105,  1098,   941,   102,   656,   105,   103,    60,
  2285.    312,   102,   102,   315,    34,    58,   102,   319,   102,    58,
  2286.    102,   323,    88,  1242,    88,  1276,    71,    72,    73,    74,
  2287.     75,    76,    77,    78,    79,    88,   338,    73,    74,    75,
  2288.     76,    77,    78,    79,    88,   103,  1097,   520,  1121,  1122,
  2289.     88,   748,   102,   102,     6,   102,  1275,   359,   360,   361,
  2290.    362,   363,   102,   105,   105,   367,  1117,   102,    60,   103,
  2291.    102,   373,   102,   375,   102,   377,   378,   972,  1173,  1174,
  2292.   1175,    88,   384,    60,    56,    56,   251,     4,   390,   254,
  2293.     54,   393,   257,     7,    56,  1120,  1169,    58,   263,  1172,
  2294.    102,    14,  1193,   102,   406,    60,    60,   272,   105,  1328,
  2295.    412,   413,    44,   415,    88,  1327,    56,    56,   420,    88,
  2296.     58,    58,  1217,    88,   102,   105,   102,    44,    15,   602,
  2297.     56,    56,   102,    56,    51,   608,    53,  1032,  1033,  1034,
  2298.   1035,    56,   102,  1217,   446,   447,   448,   449,    65,  1044,
  2299.    103,   848,   849,   102,  1216,   102,    56,    58,    75,    58,
  2300.    102,  1186,  1187,     9,  1189,  1190,  1175,   102,    85,   835,
  2301.    836,    88,    89,    56,    56,   841,   842,   843,    56,   341,
  2302.     88,    55,  1077,   656,   102,   835,   836,    91,    56,    58,
  2303.   1085,   841,   842,   843,   496,   102,   498,  1248,    88,   102,
  2304.    102,     9,    56,  1276,   901,   902,   102,   102,   510,   511,
  2305.    102,   513,     9,    56,     2,     0,     0,   690,   520,   129,
  2306.    118,     7,  1195,   801,    10,   387,   325,   815,   119,   531,
  2307.    119,   551,  1327,  1327,    99,   459,  1140,     1,  1150,   508,
  2308.   1181,  1077,   981,   681,    33,   805,  1193,   859,   550,   551,
  2309.    585,   796,    33,   949,   874,   872,   794,   539,    44,    23,
  2310.    957,    25,    26,   413,  1159,   496,    12,  1266,    32,    55,
  2311.    829,  1296,    58,   435,    60,   876,  1300,    -1,    -1,   444,
  2312.   1175,     3,     4,    -1,    70,  1180,  1181,  1302,  1261,    -1,
  2313.     54,    55,    56,    -1,    58,    -1,    60,    -1,   600,   601,
  2314.    602,    -1,    88,    89,    -1,    -1,   608,    93,    -1,    -1,
  2315.   1205,   784,    -1,    -1,    -1,    -1,   102,    -1,  1327,    41,
  2316.     -1,    -1,   624,   625,    -1,   627,     4,    -1,    92,    51,
  2317.    492,    53,   494,   495,  1031,    -1,    -1,    -1,    60,  1036,
  2318.     -1,    -1,    20,    65,    -1,   647,    -1,    -1,    -1,    -1,
  2319.     -1,    -1,    -1,    75,   656,    33,    -1,    -1,   520,    -1,
  2320.     -1,    83,    -1,   836,   526,    -1,    88,    -1,    46,   842,
  2321.    843,    -1,     1,   675,    -1,  1270,    -1,    -1,    -1,    -1,
  2322.     -1,    59,    -1,   685,   686,   687,    -1,    -1,    -1,    -1,
  2323.     -1,  1286,  1287,    71,    23,    -1,    25,    26,    76,    77,
  2324.     -1,    -1,    -1,    32,  1299,    -1,    -1,    -1,    -1,    -1,
  2325.     88,    89,    -1,  1110,  1111,   888,   578,    -1,    96,    -1,
  2326.     -1,    99,    -1,    -1,    -1,    54,    55,    56,    -1,    58,
  2327.     -1,    60,  1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2328.     -1,   119,  1139,   745,   122,    -1,   608,    -1,  1098,    -1,
  2329.     -1,    -1,    -1,     4,     5,     6,     7,    -1,   136,    10,
  2330.     -1,    12,    -1,    92,   766,    -1,   768,    -1,    -1,    -1,
  2331.     -1,    -1,    -1,   775,    -1,    -1,    27,   779,    -1,   781,
  2332.     31,   783,   784,   785,    35,    -1,    -1,  1184,     4,   791,
  2333.      6,     7,    -1,    -1,  1191,  1192,    12,    -1,    -1,   801,
  2334.     51,    -1,    53,  1200,    -1,   183,    -1,  1173,  1174,  1175,
  2335.     -1,    27,    -1,   815,    -1,    31,    -1,    69,    -1,    35,
  2336.     -1,    -1,    -1,  1173,  1174,  1175,    -1,    -1,   690,    -1,
  2337.     -1,   833,   834,   835,   836,    51,    -1,    53,   840,   841,
  2338.    842,   843,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2339.     -1,    -1,   230,    -1,    -1,    -1,    -1,   859,    24,    25,
  2340.     -1,    -1,  1259,  1260,   116,    -1,    -1,   869,    -1,    -1,
  2341.    872,    -1,   874,    -1,   876,    -1,    -1,    -1,     3,     4,
  2342.    258,    -1,     7,   135,    -1,    -1,    -1,   749,    -1,    -1,
  2343.     -1,    -1,   757,   271,    -1,    -1,    -1,    -1,   150,    -1,
  2344.    762,   279,   764,    -1,    -1,    71,    -1,    -1,    -1,    -1,
  2345.     76,    -1,    -1,    -1,   916,   917,    41,   919,   783,   784,
  2346.     -1,   299,    88,    89,    -1,  1098,    51,    -1,    53,  1326,
  2347.     -1,    -1,    -1,    99,    -1,   937,   938,    -1,    10,    -1,
  2348.     65,    -1,   108,   109,    -1,   323,   948,   949,    -1,    -1,
  2349.     75,    -1,    -1,    25,    26,   817,    -1,   819,    83,   821,
  2350.     32,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,
  2351.    136,    -1,    44,   139,   140,    -1,   841,   842,   980,   981,
  2352.    982,    -1,   360,    55,    56,   363,    58,    -1,    60,   367,
  2353.     -1,    -1,   994,   995,    -1,   997,    -1,    -1,    -1,    -1,
  2354.     -1,  1174,  1175,    -1,    -1,    -1,    -1,    -1,    -1,   387,
  2355.     -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,
  2356.     92,    93,   887,   888,  1026,    -1,     3,     4,    -1,    -1,
  2357.    102,    -1,    -1,    -1,    -1,   413,    -1,   415,    -1,    -1,
  2358.     -1,    -1,   420,    -1,    -1,    -1,    -1,    -1,    -1,     1,
  2359.     -1,     3,     4,     5,     6,     7,    -1,   922,    -1,   437,
  2360.     12,    -1,   440,    -1,    41,    -1,    -1,   445,   446,   447,
  2361.    448,   449,   937,   938,    51,    27,    53,     3,     4,    31,
  2362.     -1,   459,    -1,    35,    36,   463,    -1,    -1,    65,    41,
  2363.     -1,    -1,   258,    -1,    -1,    -1,  1098,    -1,    75,    51,
  2364.     -1,    53,     3,     4,    56,   271,    83,    -1,    60,    -1,
  2365.     -1,    88,    -1,    65,    -1,    41,    -1,   495,   496,    -1,
  2366.     -1,    -1,    -1,    75,    -1,    51,    -1,    53,   380,    -1,
  2367.     56,    83,    -1,   299,   386,   513,    88,    -1,    -1,    65,
  2368.     41,    -1,   520,    44,    -1,    -1,    -1,    -1,    71,    75,
  2369.     51,   103,    53,    76,    -1,    -1,    -1,    83,    -1,    60,
  2370.     -1,    -1,    88,    -1,    65,    88,    89,    -1,    -1,    -1,
  2371.     -1,  1173,  1174,  1175,    75,    -1,    99,    -1,   430,   431,
  2372.     -1,   433,    83,    -1,    -1,    -1,    -1,    88,     1,    -1,
  2373.      3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
  2374.     -1,   367,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
  2375.     12,   377,   378,   136,    27,  1217,    -1,    -1,    31,    -1,
  2376.     -1,   387,    35,    36,   602,    27,    -1,    -1,    41,    31,
  2377.    608,    -1,    -1,    35,    -1,    -1,  1098,    -1,    51,    -1,
  2378.     53,    -1,    -1,    56,    -1,    -1,    -1,    60,    -1,    51,
  2379.     -1,    53,    65,    -1,   420,     4,    -1,     6,     7,    -1,
  2380.     -1,    -1,    75,    12,   516,   517,    -1,    69,    -1,   521,
  2381.     83,   437,    -1,    -1,   440,    88,    -1,    -1,   656,   445,
  2382.    446,   447,   448,   449,    -1,    -1,    35,    -1,    -1,    -1,
  2383.    103,    -1,    -1,   459,    -1,    44,    -1,   463,    -1,    -1,
  2384.     -1,    -1,    51,    -1,    53,    -1,    -1,    -1,  1173,  1174,
  2385.     -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
  2386.     -1,    -1,    -1,    -1,    -1,  1327,    75,    -1,    -1,   495,
  2387.    496,    -1,    -1,  1195,    -1,   258,    85,    -1,    -1,    88,
  2388.     89,    -1,   594,   595,   510,   511,    -1,   513,   271,    -1,
  2389.     -1,    -1,   604,    -1,   520,    -1,    -1,    -1,   610,    -1,
  2390.      3,     4,     5,     6,     7,    -1,    -1,   745,    -1,    12,
  2391.     -1,   749,    -1,    -1,    -1,    -1,   299,     3,     4,     1,
  2392.     -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
  2393.     12,    -1,    35,    -1,    -1,    -1,    -1,   775,    41,  1261,
  2394.     -1,    44,   654,   781,    -1,    27,    -1,   785,    51,    31,
  2395.     53,    -1,    -1,    35,    36,    41,    -1,    -1,    44,    41,
  2396.     -1,    -1,    65,   801,    -1,    51,    -1,    53,    -1,    51,
  2397.     -1,    53,    75,    -1,   600,   601,   602,    -1,    60,    65,
  2398.     83,    -1,   608,    65,   367,    88,    -1,    -1,    -1,    75,
  2399.    828,    -1,    -1,    75,    -1,    -1,    -1,    83,    -1,    85,
  2400.     -1,    83,    88,    89,   387,   843,    88,    -1,    -1,    -1,
  2401.      3,     4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,
  2402.    858,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2403.    656,    -1,    -1,    -1,    -1,    -1,   874,   420,   876,   751,
  2404.    752,     1,   754,     3,     4,     5,     6,     7,    41,    -1,
  2405.     -1,    -1,    12,    -1,   437,    -1,    -1,   440,    51,    -1,
  2406.     53,    -1,   445,   446,   447,   448,   449,    27,   780,    -1,
  2407.     -1,    31,    65,    -1,    -1,    35,   459,    -1,    -1,    -1,
  2408.    463,    41,    75,    -1,    -1,    45,    -1,    -1,    -1,    -1,
  2409.     83,    51,    -1,    53,    -1,    88,    56,    -1,     3,     4,
  2410.     -1,    -1,     7,    -1,    -1,    65,    -1,    -1,    76,    -1,
  2411.     -1,   949,   495,   496,    -1,    75,    -1,    -1,    -1,   745,
  2412.     -1,    -1,    -1,    83,    -1,    -1,    -1,   839,    88,    -1,
  2413.    513,    99,    -1,    -1,    94,    -1,    41,   520,    -1,    44,
  2414.    852,   853,   854,   981,    -1,   983,    51,    -1,    53,   775,
  2415.     -1,    -1,   990,    -1,    -1,   781,    -1,   783,   784,   785,
  2416.     65,    -1,    -1,    -1,     3,     4,    -1,    -1,   136,    -1,
  2417.     75,    -1,    -1,    -1,    -1,   801,    -1,    -1,    83,    -1,
  2418.     85,    -1,    -1,    88,    89,    -1,    -1,    -1,  1026,    67,
  2419.     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  2420.     78,    79,    41,    -1,    -1,    -1,    -1,    -1,    -1,   835,
  2421.    836,    -1,    51,    -1,    53,   841,   842,   843,   930,   602,
  2422.     -1,    60,    -1,    -1,    -1,   608,    65,    -1,    -1,    -1,
  2423.     -1,    -1,   858,    -1,    -1,     1,    75,     3,     4,  1077,
  2424.      6,     7,     8,     9,    83,    11,    12,    -1,    -1,    88,
  2425.    876,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2426.     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  2427.     -1,    37,    38,   656,    40,    41,    42,    43,    -1,    -1,
  2428.     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  2429.     -1,   259,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  2430.     -1,    -1,  1014,    -1,    -1,    -1,    -1,    73,    74,    75,
  2431.     -1,   937,   938,  1151,    -1,    81,    82,    83,    -1,    -1,
  2432.     -1,  1159,    88,    89,  1162,    -1,    92,    -1,    -1,    -1,
  2433.      1,    -1,     3,     4,     5,     6,     7,  1175,   104,    -1,
  2434.     -1,    12,  1180,  1181,    -1,    -1,    -1,  1059,    -1,    -1,
  2435.    139,   140,   141,    -1,    -1,    -1,    27,    -1,    -1,    -1,
  2436.     31,    -1,   745,    -1,    35,    36,    -1,  1205,    -1,    -1,
  2437.     41,    -1,   340,   341,  1212,    -1,    -1,    -1,    -1,    -1,
  2438.     51,  1219,    53,    -1,  1222,    -1,     3,     4,    -1,    60,
  2439.      7,    -1,   775,    -1,    65,    -1,    -1,    -1,   781,    -1,
  2440.     -1,    -1,   785,    -1,    75,  1243,    -1,    -1,  1246,    -1,
  2441.     -1,    -1,    83,    -1,    -1,  1253,    -1,    88,   801,   387,
  2442.     -1,    -1,    -1,    -1,    41,    -1,    -1,    44,    -1,    -1,
  2443.     -1,    -1,   103,    -1,    51,    -1,    53,    -1,    -1,  1277,
  2444.     -1,    -1,   410,    -1,    -1,    -1,    -1,    -1,    65,    -1,
  2445.     -1,    -1,    -1,    -1,  1292,    -1,    -1,    -1,    75,    -1,
  2446.    843,    -1,    -1,    -1,    -1,    -1,    83,   435,    85,  1307,
  2447.     -1,    88,    89,    -1,    -1,   858,    -1,    -1,    -1,    -1,
  2448.     -1,     3,     4,    -1,    -1,     7,  1324,  1325,    -1,  1327,
  2449.     -1,   459,    -1,   876,   462,    -1,    -1,   465,   466,    -1,
  2450.    468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
  2451.    478,   479,   480,   481,   482,   483,   484,   485,   486,    41,
  2452.     -1,    -1,    44,    -1,   492,    -1,   494,   495,    -1,    51,
  2453.     -1,    53,    -1,  1159,    -1,    -1,    -1,    -1,    -1,    -1,
  2454.     -1,    -1,    -1,    65,    -1,    -1,    -1,  1173,  1174,  1175,
  2455.     -1,    -1,   520,    75,  1180,  1181,     3,     4,   526,    -1,
  2456.      7,    83,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,
  2457.     -1,    -1,    -1,   541,   542,    -1,    -1,    -1,    -1,  1205,
  2458.     -1,    -1,    -1,    -1,   373,    -1,   375,    -1,   377,   378,
  2459.    277,   278,   279,    -1,    41,    -1,    -1,    44,    -1,    -1,
  2460.     -1,   390,    -1,    -1,    51,    -1,    53,    -1,    -1,     1,
  2461.    578,     3,     4,     5,     6,     7,    -1,   585,    65,    -1,
  2462.     12,    -1,    -1,   412,    -1,    -1,    -1,    -1,    75,    -1,
  2463.     -1,    -1,    -1,    25,    26,    27,    83,    -1,    85,    31,
  2464.    608,    88,    89,    35,    -1,    -1,    -1,    39,     4,    41,
  2465.     -1,   619,    -1,    45,    -1,    -1,     3,     4,    -1,    51,
  2466.      7,    53,    -1,    -1,    56,    -1,    -1,    -1,    24,    25,
  2467.     -1,    27,   359,    65,   361,   362,   363,    33,    -1,    -1,
  2468.     -1,    -1,    -1,    75,    -1,    -1,    -1,   655,    44,    -1,
  2469.     46,    83,     3,     4,    41,    -1,    88,    -1,    -1,    -1,
  2470.     -1,  1327,    94,    95,    51,    -1,    53,    -1,    -1,    -1,
  2471.     66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
  2472.     -1,    -1,   690,    -1,    -1,    -1,    -1,    -1,    75,    -1,
  2473.     41,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    95,
  2474.     51,    88,    53,   711,    -1,   101,    -1,   103,    -1,   105,
  2475.     -1,    -1,   108,   109,    65,    -1,    -1,    -1,    -1,     4,
  2476.     -1,     6,     7,   119,    75,   121,   122,    12,    -1,    -1,
  2477.     -1,    -1,    83,    -1,    -1,    -1,  1159,    88,    -1,    -1,
  2478.    748,   749,    27,   139,   140,   141,    31,    -1,    -1,    -1,
  2479.     35,    -1,  1175,   149,   762,    -1,   764,  1180,  1181,    44,
  2480.     -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,   165,
  2481.     -1,   600,   601,   602,     3,     4,    -1,    -1,     7,   608,
  2482.     65,    -1,  1205,   510,   511,   793,   513,   183,    -1,    -1,
  2483.     75,    -1,    -1,   520,    -1,   624,   625,   193,   627,    -1,
  2484.     85,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,   817,
  2485.     -1,   819,    41,   821,    -1,    -1,    -1,    -1,    -1,    -1,
  2486.     -1,    -1,    51,   550,    53,    -1,    -1,   656,    -1,    -1,
  2487.     -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
  2488.    848,   849,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
  2489.     -1,    -1,    -1,    -1,    83,   863,   864,    -1,    -1,    88,
  2490.      3,     4,     5,     6,     7,    -1,    -1,    10,     4,    12,
  2491.      6,     7,    -1,   600,   601,   602,    12,    -1,    -1,   275,
  2492.     -1,   608,    -1,    -1,    27,    -1,    -1,   283,    31,   285,
  2493.     -1,    27,    35,   901,   902,    31,    -1,   905,    41,    35,
  2494.     -1,    44,    -1,    -1,  1327,    -1,    -1,    -1,    51,    -1,
  2495.     53,    -1,    -1,    -1,    -1,    51,   312,    53,    54,   315,
  2496.     -1,    -1,    65,   319,    -1,    -1,    -1,    -1,    -1,    -1,
  2497.     -1,     4,    75,     6,     7,    -1,    -1,    -1,    -1,    12,
  2498.     83,    -1,    85,    -1,    -1,    88,    89,    -1,   675,   957,
  2499.     93,    -1,    88,    -1,    27,    -1,    -1,    -1,    31,    -1,
  2500.    968,    -1,    35,   359,   360,   361,   362,    -1,    -1,    -1,
  2501.     -1,   367,    -1,    -1,    -1,    -1,    -1,   373,    51,   375,
  2502.     53,   377,   378,     3,     4,     5,     6,     7,   384,    -1,
  2503.     -1,    -1,    12,    -1,   390,    -1,    -1,   393,     3,     4,
  2504.     -1,    -1,     7,    -1,   833,   834,   835,   836,    -1,  1017,
  2505.     -1,   840,   841,   842,   843,    35,   412,   413,    -1,   415,
  2506.     -1,    41,    -1,  1031,    44,    -1,    -1,    -1,  1036,    -1,
  2507.   1038,    51,    -1,    53,    -1,    -1,    41,    -1,    -1,   766,
  2508.    869,   768,    -1,    -1,    -1,    65,    51,    -1,    53,    -1,
  2509.     -1,    -1,   779,    -1,    -1,    75,   783,   784,   785,    -1,
  2510.     65,    -1,    -1,    83,    -1,    85,    -1,    -1,    88,    89,
  2511.     75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,
  2512.     -1,    -1,    -1,    88,     3,     4,    -1,    -1,     7,    -1,
  2513.   1098,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
  2514.     -1,    -1,  1110,  1111,    12,    -1,   833,   834,   835,   836,
  2515.   1118,  1119,   508,   840,   841,   842,   843,    -1,    -1,    27,
  2516.     -1,    -1,    41,    31,   520,    -1,    -1,    35,    -1,    -1,
  2517.     -1,  1139,    51,    41,    53,    -1,    -1,    -1,    -1,    -1,
  2518.     -1,    -1,    -1,    51,    -1,    53,    65,    -1,    -1,    -1,
  2519.     -1,    -1,  1160,    -1,   550,    -1,    75,    65,    -1,    -1,
  2520.     -1,    -1,    -1,    -1,    83,   994,   995,    75,   997,    88,
  2521.     -1,    -1,    -1,    -1,    -1,    83,  1184,    -1,    -1,    -1,
  2522.     88,    -1,    -1,  1191,  1192,    -1,    -1,  1195,    -1,    -1,
  2523.     -1,    -1,  1200,    -1,     4,     4,     5,     6,     7,    -1,
  2524.     -1,    10,    -1,    12,   600,   601,   602,    -1,    -1,    -1,
  2525.    937,   938,   608,    -1,    24,    25,    -1,    27,    27,    -1,
  2526.     -1,    -1,    31,    33,    -1,    -1,    35,    -1,   624,   625,
  2527.     -1,   627,    -1,    -1,    44,    44,    46,    -1,    -1,    -1,
  2528.     -1,    -1,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  2529.     -1,  1259,  1260,  1261,     3,     4,    65,    -1,     7,    -1,
  2530.    656,    -1,    -1,    -1,    -1,    -1,    75,   994,   995,  1098,
  2531.    997,    -1,    -1,    -1,    -1,    -1,    85,    -1,    -1,    88,
  2532.     89,    -1,    -1,    -1,    93,    95,    -1,    -1,    -1,    -1,
  2533.     -1,   101,    41,    -1,   690,   105,    -1,    -1,   108,   109,
  2534.     -1,    -1,    51,    -1,    53,    -1,    -1,    -1,    -1,   119,
  2535.     -1,   121,   122,    -1,    -1,    -1,    65,    -1,  1326,    -1,
  2536.     -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,   139,
  2537.    140,   141,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
  2538.     -1,    -1,    -1,    -1,  1173,  1174,  1175,    -1,     1,    -1,
  2539.     -1,     4,    -1,     6,     7,   165,    -1,    -1,    -1,    12,
  2540.     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  2541.     78,    79,    -1,   183,    27,    -1,    -1,    -1,    31,    -1,
  2542.     -1,    -1,    35,   193,    37,    38,    27,   783,   784,    -1,
  2543.     -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
  2544.     53,    -1,    55,    44,    57,    58,    59,    -1,    61,    62,
  2545.     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  2546.     73,    74,    75,    76,    77,    78,    -1,    -1,    81,    82,
  2547.     83,    -1,    -1,    86,    -1,    -1,    89,   833,   834,   835,
  2548.    836,    -1,   838,    -1,   840,   841,   842,   843,    -1,    -1,
  2549.     -1,   104,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,
  2550.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,   109,    -1,
  2551.     -1,    -1,    -1,   869,   284,   285,   872,    -1,   874,    -1,
  2552.    121,    -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,
  2553.     -1,   887,   888,    12,    -1,    -1,    -1,    -1,   139,   140,
  2554.    141,    -1,   312,    -1,    -1,   315,    -1,    -1,    27,   319,
  2555.     -1,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
  2556.     -1,    -1,    41,    -1,   165,    44,    -1,    -1,   338,    -1,
  2557.     -1,    -1,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  2558.     -1,    -1,    -1,    -1,    -1,   941,    65,    -1,    -1,   359,
  2559.    360,   361,   362,   949,    -1,    -1,    75,   367,    -1,    -1,
  2560.     -1,    -1,    -1,   373,    83,   375,    85,   377,   378,    88,
  2561.     89,    -1,    -1,    -1,   384,    -1,    -1,    -1,    -1,    -1,
  2562.    390,    -1,    -1,   393,   980,   981,   982,    -1,    -1,    -1,
  2563.    231,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   994,   995,
  2564.     -1,   997,   412,   413,    -1,   415,    -1,    -1,    -1,    -1,
  2565.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
  2566.     12,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  2567.   1026,    -1,    24,    25,    -1,    27,   277,   278,   279,    -1,
  2568.     -1,    -1,    27,    28,   285,    -1,    31,    -1,    33,    -1,
  2569.     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  2570.     52,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  2571.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  2572.     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  2573.     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  2574.     -1,    -1,  1098,    88,    -1,    -1,    -1,    -1,    -1,   101,
  2575.    520,   103,   104,   105,    -1,    -1,   108,   109,   359,   104,
  2576.    361,   362,   363,    -1,     3,     4,     5,     6,     7,    -1,
  2577.     -1,    -1,   373,    12,   375,    -1,   377,   378,    -1,    -1,
  2578.    550,    -1,    -1,   384,    -1,    -1,    -1,    -1,    -1,   390,
  2579.     -1,    -1,   393,    -1,    44,    -1,    35,    -1,    -1,    -1,
  2580.     -1,    -1,    41,    -1,    -1,    44,    -1,    -1,    -1,    -1,
  2581.     -1,   412,    51,    -1,    53,    -1,    66,  1173,  1174,  1175,
  2582.     -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
  2583.    600,   601,   602,    -1,    -1,    85,    75,    -1,   608,    -1,
  2584.     -1,   193,    -1,    -1,    83,    95,    85,    -1,    -1,    88,
  2585.     89,    -1,    -1,    -1,   624,   625,     4,   627,     6,     7,
  2586.     -1,  1217,    -1,    -1,    12,    -1,     3,     4,    -1,    -1,
  2587.      7,   121,    -1,    -1,    -1,     4,     5,     6,     7,   231,
  2588.     -1,    10,    -1,    12,    -1,    -1,   656,    35,    -1,   139,
  2589.    140,   141,    -1,    -1,     3,     4,    44,   498,    27,   149,
  2590.     -1,    -1,    31,    51,    41,    53,    35,    -1,    -1,   510,
  2591.    511,    -1,   513,    -1,    51,   165,    53,    65,    -1,   520,
  2592.    690,    -1,    51,   275,    53,   277,   278,    75,    65,    -1,
  2593.      3,     4,    41,    -1,    -1,    -1,    -1,    85,    75,    -1,
  2594.     88,    89,    51,    -1,    53,   195,    83,    56,    -1,   550,
  2595.     -1,    88,    -1,    -1,   306,    -1,    65,    -1,    -1,    -1,
  2596.    312,    -1,    -1,   315,    -1,    -1,    75,   319,    41,    -1,
  2597.     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    51,    88,
  2598.     53,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
  2599.     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,   600,
  2600.    601,   602,    75,    -1,    27,    -1,    -1,   608,    31,    -1,
  2601.     83,    -1,    35,   783,   784,    88,    -1,    -1,    -1,    -1,
  2602.     -1,   791,    -1,   624,   625,    -1,   627,    -1,    51,    -1,
  2603.     53,    -1,    -1,   283,    -1,   285,    -1,    -1,    -1,    -1,
  2604.     -1,    -1,    -1,    -1,    -1,   815,    -1,    -1,    -1,    -1,
  2605.     -1,    -1,    -1,    -1,    -1,   656,    -1,    -1,    -1,    -1,
  2606.     -1,    -1,    -1,   833,   834,   835,   836,    -1,    -1,    -1,
  2607.    840,   841,   842,   843,   675,    -1,    -1,    -1,    -1,    -1,
  2608.    432,    -1,    -1,    -1,   685,   686,   687,    -1,    -1,    -1,
  2609.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   869,
  2610.     -1,    -1,   872,    -1,   874,    -1,    -1,    -1,    -1,   359,
  2611.     -1,   361,   362,    -1,    -1,    -1,    -1,   887,   888,   277,
  2612.    278,   279,    -1,   373,    -1,   375,    -1,   377,   378,    -1,
  2613.     -1,    -1,    -1,    -1,   384,    -1,    -1,    -1,    -1,    -1,
  2614.    390,    -1,    -1,   393,    -1,    -1,   498,    -1,    -1,    -1,
  2615.     -1,    -1,     4,    -1,    -1,    -1,   508,    -1,   510,   511,
  2616.     -1,    -1,   412,    -1,    -1,   766,    -1,   768,    -1,    -1,
  2617.     -1,    -1,    24,    25,    -1,    -1,    -1,    -1,   779,   949,
  2618.     -1,    33,   783,   784,   785,    -1,    -1,    -1,    -1,    -1,
  2619.     -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,   551,
  2620.     -1,   359,    -1,   361,   362,   363,    -1,    -1,    -1,    -1,
  2621.    980,   981,   982,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2622.     -1,    -1,    -1,    -1,   994,   995,    -1,   997,     4,     5,
  2623.      6,     7,   833,   834,   835,   836,    12,    -1,    -1,   840,
  2624.    841,   842,   843,    -1,    -1,    -1,    -1,    -1,    -1,   101,
  2625.     -1,    27,    -1,   105,    -1,    31,  1026,    -1,    -1,    35,
  2626.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,   869,    -1,
  2627.    122,    -1,    -1,   523,    -1,    51,    -1,    53,    -1,    -1,
  2628.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   139,   140,    -1,
  2629.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2630.    550,    66,    67,    68,    69,    70,    71,    72,    73,    74,
  2631.     75,    76,    77,    78,    79,   916,   917,    -1,   919,    -1,
  2632.     -1,    -1,    -1,   675,    -1,    -1,    -1,    -1,  1098,    -1,
  2633.     -1,   183,    -1,   685,   686,   687,   937,   938,    -1,    -1,
  2634.     -1,   193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2635.    600,   601,   602,   511,    -1,   513,    -1,    -1,   608,    -1,
  2636.     -1,    -1,   520,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2637.     -1,    -1,    -1,    -1,   624,   625,    -1,   627,    -1,   980,
  2638.     -1,   982,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2639.     -1,    -1,   550,   994,   995,    -1,   997,    -1,    -1,    -1,
  2640.     -1,    -1,    -1,  1173,  1174,  1175,   656,    -1,    -1,    -1,
  2641.     -1,    -1,    -1,    -1,   766,    -1,   768,    -1,    -1,    -1,
  2642.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   779,    65,    66,
  2643.     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  2644.     77,    78,    79,   601,   602,    -1,    -1,  1217,     3,     4,
  2645.    608,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  2646.    312,    -1,    -1,   315,    -1,    -1,    -1,   319,    -1,    -1,
  2647.     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  2648.     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  2649.     -1,    46,    47,    48,    49,    50,    51,  1098,    53,    -1,
  2650.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   360,    -1,
  2651.     -1,    -1,    -1,    -1,    -1,   367,    -1,   675,    -1,    -1,
  2652.    872,   373,    -1,   375,    -1,    -1,    81,    82,    83,    -1,
  2653.     -1,    -1,    -1,    88,    -1,    -1,    -1,    92,   390,    -1,
  2654.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
  2655.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2656.    412,   413,    -1,   415,   916,   917,    -1,   919,    -1,    -1,
  2657.     -1,    -1,  1173,  1174,  1175,    -1,    -1,    -1,    -1,    -1,
  2658.     -1,    -1,    -1,   833,   834,   835,   836,    -1,   838,    -1,
  2659.    840,   841,   842,   843,    -1,    -1,    -1,    -1,    -1,    -1,
  2660.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   766,    -1,
  2661.    768,    -1,    -1,    -1,    -1,    -1,  1217,    -1,    -1,   869,
  2662.     -1,   779,    -1,    -1,    -1,    -1,   784,   785,    -1,    -1,
  2663.     -1,     3,     4,     5,     6,     7,    -1,    -1,    10,    -1,
  2664.     12,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
  2665.     -1,    12,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,
  2666.     -1,    -1,    -1,    35,    -1,    -1,    27,    -1,    -1,    41,
  2667.     31,    -1,    -1,    -1,    35,   833,   834,    -1,   836,    51,
  2668.     41,    53,   840,    -1,   842,   843,    -1,    -1,    -1,    -1,
  2669.     51,   941,    53,    65,    -1,    56,    -1,    -1,    -1,    -1,
  2670.     -1,    -1,    -1,    75,    65,    -1,    -1,    -1,    -1,    -1,
  2671.     -1,    83,    -1,    -1,    75,    -1,    88,    -1,    -1,    -1,
  2672.     -1,    93,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,
  2673.    980,    -1,   982,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2674.     -1,    -1,    -1,    -1,   994,   995,    -1,   997,   600,   601,
  2675.     59,    -1,    61,    62,    63,    64,    65,    66,    67,    68,
  2676.     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
  2677.     79,    -1,   624,   625,    -1,   627,    -1,    -1,    -1,     1,
  2678.    938,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
  2679.     12,    13,    -1,    15,    16,    17,    18,    19,    20,    21,
  2680.     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
  2681.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2682.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2683.     -1,    53,    54,    -1,    56,    -1,   994,   995,    -1,   997,
  2684.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,  1098,    -1,
  2685.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2686.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,     1,
  2687.     92,     3,     4,     5,     6,     7,     8,     9,    10,    11,
  2688.     12,   103,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2689.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2690.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2691.     42,    43,    44,    -1,    46,    47,    48,    49,    50,    51,
  2692.     -1,    53,    54,  1173,  1174,  1175,    -1,    -1,    -1,    -1,
  2693.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2694.     -1,    73,    74,    75,    10,    -1,    -1,    -1,    -1,    81,
  2695.     82,    83,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,
  2696.     92,    93,    -1,    -1,    -1,    -1,    -1,  1217,    -1,    -1,
  2697.     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2698.     -1,   833,   834,    -1,    -1,    -1,    -1,    -1,   840,    -1,
  2699.     -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
  2700.     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  2701.     76,    77,    78,    79,    -1,    -1,    -1,   869,    -1,    -1,
  2702.    872,     1,   874,     3,     4,     5,     6,     7,     8,     9,
  2703.     -1,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
  2704.     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
  2705.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  2706.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  2707.     50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
  2708.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  2709.     -1,    -1,    -1,    73,    74,    75,    -1,   949,    -1,    -1,
  2710.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  2711.     90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2712.     -1,    -1,    -1,   103,   104,    -1,    -1,    -1,    -1,   981,
  2713.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2714.     -1,    -1,   994,   995,    -1,   997,    -1,    -1,    -1,    -1,
  2715.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2716.     -1,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
  2717.     -1,    11,    12,    13,  1026,    15,    16,    17,    18,    19,
  2718.     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
  2719.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  2720.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  2721.     50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
  2722.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  2723.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  2724.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  2725.     90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2726.     -1,    -1,    -1,   103,   104,     1,    -1,     3,     4,     5,
  2727.      6,     7,     8,     9,    -1,    11,    12,    13,    -1,    15,
  2728.     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  2729.     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  2730.     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  2731.     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
  2732.     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  2733.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  2734.     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  2735.     -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,    -1,
  2736.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,     1,
  2737.     -1,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
  2738.     12,    13,    -1,    15,    16,    17,    18,    19,    20,    21,
  2739.     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
  2740.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2741.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2742.     -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,
  2743.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2744.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2745.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,    -1,
  2746.     92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2747.     -1,   103,   104,     1,    -1,     3,     4,     5,     6,     7,
  2748.      8,     9,    -1,    11,    12,    13,    -1,    15,    16,    17,
  2749.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2750.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2751.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2752.     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  2753.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2754.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2755.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2756.     88,    -1,    90,     1,    92,     3,     4,     5,     6,     7,
  2757.      8,     9,    -1,    11,    12,    13,   104,    15,    16,    17,
  2758.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2759.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2760.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2761.     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  2762.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2763.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2764.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2765.     88,    -1,    90,     1,    92,     3,     4,     5,     6,     7,
  2766.      8,     9,    -1,    11,    12,    13,   104,    15,    16,    17,
  2767.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2768.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2769.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2770.     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  2771.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2772.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2773.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2774.     88,    -1,    90,     1,    92,     3,     4,     5,     6,     7,
  2775.      8,     9,    10,    11,    12,    -1,   104,    -1,    -1,    -1,
  2776.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  2777.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2778.     38,    -1,    40,    41,    42,    43,    44,    -1,    46,    47,
  2779.     48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
  2780.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2781.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2782.     -1,    -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,
  2783.     88,    89,    -1,    -1,    92,    93,    -1,    -1,    -1,    -1,
  2784.     -1,    -1,    -1,    -1,    -1,     1,   104,     3,     4,     5,
  2785.      6,     7,     8,     9,    10,    11,    12,    -1,    -1,    -1,
  2786.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2787.     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  2788.     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  2789.     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  2790.     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  2791.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  2792.     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  2793.     -1,    -1,    88,    -1,    -1,    -1,    92,    93,    -1,    -1,
  2794.     -1,    -1,    -1,    -1,    -1,    -1,   102,     1,   104,     3,
  2795.      4,     5,     6,     7,     8,     9,    10,    11,    12,    -1,
  2796.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2797.     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  2798.     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  2799.     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  2800.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  2801.     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  2802.     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  2803.     -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    92,    93,
  2804.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,     1,
  2805.    104,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2806.     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2807.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2808.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2809.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2810.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2811.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2812.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2813.     82,    83,    -1,    -1,    -1,    -1,    88,    89,    -1,     1,
  2814.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2815.     12,   103,   104,    -1,    -1,    -1,    -1,    19,    -1,    -1,
  2816.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2817.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2818.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2819.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2820.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2821.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2822.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2823.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2824.     12,   103,   104,    -1,    -1,    -1,    -1,    19,    -1,    -1,
  2825.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2826.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2827.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2828.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2829.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2830.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2831.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2832.     92,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
  2833.     12,   103,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2834.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2835.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2836.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2837.     -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,
  2838.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2839.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2840.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2841.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2842.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2843.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2844.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2845.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2846.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2847.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2848.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2849.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2850.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2851.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2852.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2853.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2854.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2855.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2856.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2857.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2858.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2859.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2860.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2861.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2862.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2863.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2864.     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
  2865.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2866.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2867.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2868.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2869.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2870.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2871.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2872.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2873.     -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2874.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2875.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2876.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2877.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2878.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2879.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2880.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2881.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2882.     -1,    53,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,
  2883.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2884.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2885.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,     1,
  2886.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2887.     12,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2888.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2889.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  2890.     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
  2891.     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2892.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  2893.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  2894.     82,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
  2895.     92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2896.    102,     1,   104,     3,     4,    -1,     6,     7,     8,     9,
  2897.     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2898.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  2899.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  2900.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  2901.     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  2902.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  2903.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  2904.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  2905.     -1,     1,    92,     3,     4,    -1,     6,     7,     8,     9,
  2906.     -1,    11,    12,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  2907.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  2908.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  2909.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  2910.     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  2911.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  2912.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  2913.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  2914.      3,     4,    92,     6,     7,     8,     9,    -1,    11,    12,
  2915.     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  2916.     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  2917.     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  2918.     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  2919.     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  2920.     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2921.     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  2922.     83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    92,
  2923.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2924.     -1,   104,   105,     3,     4,     5,     6,     7,     8,     9,
  2925.     -1,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
  2926.     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
  2927.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  2928.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  2929.     50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,
  2930.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  2931.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  2932.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  2933.     90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2934.     -1,    -1,    -1,   103,   104,     3,     4,     5,     6,     7,
  2935.      8,     9,    -1,    11,    12,    13,    -1,    15,    16,    17,
  2936.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2937.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2938.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2939.     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  2940.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2941.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2942.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2943.     88,    -1,    90,    -1,    92,     3,     4,     5,     6,     7,
  2944.      8,     9,    -1,    11,    12,    13,   104,    15,    16,    17,
  2945.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2946.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2947.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2948.     48,    49,    50,    51,    -1,    53,    54,    -1,    56,    -1,
  2949.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2950.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2951.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2952.     88,    -1,    90,    -1,    92,     3,     4,     5,     6,     7,
  2953.      8,     9,    -1,    11,    12,    13,   104,    15,    16,    17,
  2954.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2955.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2956.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  2957.     48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    -1,
  2958.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2959.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2960.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  2961.     88,    -1,    90,    -1,    92,     3,     4,     5,     6,     7,
  2962.      8,     9,    10,    11,    12,    -1,   104,    -1,    -1,    -1,
  2963.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  2964.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  2965.     38,    -1,    40,    41,    42,    43,    44,    -1,    46,    47,
  2966.     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
  2967.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  2968.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  2969.     -1,    -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,
  2970.     88,    89,    -1,    -1,    92,    93,     3,     4,     5,     6,
  2971.      7,     8,     9,    10,    11,    12,   104,    -1,    -1,    -1,
  2972.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2973.     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  2974.     37,    38,    -1,    40,    41,    42,    43,    44,    -1,    46,
  2975.     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  2976.     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  2977.     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  2978.     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    85,    -1,
  2979.     -1,    88,    89,    -1,    -1,    92,    93,     3,     4,    -1,
  2980.      6,     7,     8,     9,    -1,    11,    12,   104,    -1,    -1,
  2981.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2982.     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  2983.     -1,    37,    38,    -1,    40,    41,    42,    43,    44,    -1,
  2984.     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  2985.     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  2986.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  2987.     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    85,
  2988.     -1,    -1,    88,    89,     3,     4,    -1,     6,     7,     8,
  2989.      9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,
  2990.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
  2991.     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
  2992.     -1,    40,    41,    42,    43,    44,    -1,    46,    47,    48,
  2993.     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
  2994.     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
  2995.     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
  2996.     -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,    88,
  2997.     89,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2998.     12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
  2999.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  3000.     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
  3001.     42,    43,    44,    -1,    46,    47,    48,    49,    50,    51,
  3002.     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3003.     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
  3004.     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
  3005.     82,    83,    -1,    85,    -1,    -1,    88,    89,     3,     4,
  3006.     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  3007.     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3008.     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  3009.     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
  3010.     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
  3011.     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
  3012.     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
  3013.     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
  3014.     -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,     7,
  3015.      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,
  3016.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
  3017.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  3018.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  3019.     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
  3020.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  3021.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  3022.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  3023.     88,    -1,     3,     4,    92,     6,     7,     8,     9,    -1,
  3024.     11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,
  3025.     -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  3026.     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  3027.     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  3028.     51,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,
  3029.     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  3030.     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  3031.     81,    82,    83,    -1,    -1,     3,     4,    88,     6,     7,
  3032.      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
  3033.     -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    27,
  3034.     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
  3035.     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
  3036.     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
  3037.     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
  3038.     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
  3039.     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
  3040.     88,    89,     3,     4,    -1,     6,     7,     8,     9,    -1,
  3041.     11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,
  3042.     -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
  3043.     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
  3044.     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
  3045.     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3046.     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
  3047.     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
  3048.     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,
  3049.      4,    92,     6,     7,     8,     9,    -1,    11,    12,    -1,
  3050.     -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,
  3051.     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  3052.     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
  3053.     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
  3054.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
  3055.     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
  3056.     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
  3057.     -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,
  3058.      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  3059.    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3060.     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
  3061.     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  3062.     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  3063.     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  3064.     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  3065.     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  3066.     -1,    88,    -1,     3,     4,    92,     6,     7,     8,     9,
  3067.     -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,
  3068.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  3069.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  3070.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  3071.     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  3072.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  3073.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  3074.     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
  3075.      3,     4,    92,     6,     7,     8,     9,    -1,    11,    12,
  3076.     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  3077.     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  3078.     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  3079.     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  3080.     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  3081.     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3082.     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  3083.     83,    -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,
  3084.      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  3085.     -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3086.     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  3087.     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
  3088.     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
  3089.     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
  3090.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
  3091.     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
  3092.      3,     4,    88,     6,     7,     8,     9,    -1,    11,    12,
  3093.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,
  3094.     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
  3095.     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
  3096.     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
  3097.     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
  3098.     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3099.     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
  3100.     83,    -1,    -1,     3,     4,    88,     6,     7,     8,     9,
  3101.     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3102.     -1,   104,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  3103.     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
  3104.     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
  3105.     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
  3106.     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
  3107.     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
  3108.     -1,    81,    82,    83,    -1,    -1,     3,     4,    88,     6,
  3109.      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  3110.     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
  3111.     27,    28,    -1,    -1,    31,    -1,    33,    -1,    35,    -1,
  3112.     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
  3113.     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
  3114.     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
  3115.     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
  3116.     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
  3117.     -1,    88,     3,     4,     5,     6,     7,    -1,    -1,    10,
  3118.     -1,    12,    -1,    -1,    -1,    -1,    -1,   104,    -1,     3,
  3119.      4,     5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,
  3120.     31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
  3121.     41,    -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,
  3122.     51,    35,    53,    -1,    -1,    -1,    -1,    41,    -1,    -1,
  3123.     -1,    -1,    -1,    -1,    65,    -1,    -1,    51,    -1,    53,
  3124.     -1,    -1,    -1,    -1,    75,    -1,    60,    -1,    -1,    -1,
  3125.     -1,    65,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,
  3126.     -1,    75,     3,     4,     5,     6,     7,    -1,    -1,    83,
  3127.     -1,    12,    -1,    -1,    88,    -1,    -1,    -1,    -1,     3,
  3128.      4,     5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,
  3129.     31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
  3130.     41,    -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,
  3131.     51,    35,    53,    -1,    -1,    56,    -1,    41,    -1,    -1,
  3132.     -1,    -1,    -1,    -1,    65,    -1,    -1,    51,    -1,    53,
  3133.     -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,
  3134.     -1,    65,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,
  3135.     -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,
  3136.     32,    57,    58,    59,    88,    61,    62,    63,    64,    65,
  3137.     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  3138.     76,    77,    78,    79,    -1,    57,    58,    59,    -1,    61,
  3139.     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
  3140.     72,    73,    74,    75,    76,    77,    78,    79,    55,   105,
  3141.     57,    58,    59,    -1,    61,    62,    63,    64,    65,    66,
  3142.     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  3143.     77,    78,    79,    57,    58,    59,    60,    61,    62,    63,
  3144.     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  3145.     74,    75,    76,    77,    78,    79,    57,    58,    59,    60,
  3146.     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
  3147.     71,    72,    73,    74,    75,    76,    77,    78,    79,    57,
  3148.     58,    59,    -1,    61,    62,    63,    64,    65,    66,    67,
  3149.     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  3150.     78,    79,    57,    58,    59,    -1,    61,    62,    63,    64,
  3151.     65,    66,    67,    68,    69,    -1,    71,    72,    73,    74,
  3152.     75,    76,    77,    78,    79,    62,    63,    64,    65,    66,
  3153.     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  3154.     77,    78,    79,    63,    64,    65,    66,    67,    68,    69,
  3155.     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  3156.     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  3157.     74,    75,    76,    77,    78,    79
  3158. };
  3159. /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  3160. #line 3 "/usr/local/lib/bison.simple"
  3161.  
  3162. /* Skeleton output parser for bison,
  3163.    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  3164.  
  3165.    This program is free software; you can redistribute it and/or modify
  3166.    it under the terms of the GNU General Public License as published by
  3167.    the Free Software Foundation; either version 1, or (at your option)
  3168.    any later version.
  3169.  
  3170.    This program is distributed in the hope that it will be useful,
  3171.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3172.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3173.    GNU General Public License for more details.
  3174.  
  3175.    You should have received a copy of the GNU General Public License
  3176.    along with this program; if not, write to the Free Software
  3177.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  3178.  
  3179.  
  3180. #ifndef alloca
  3181. #ifdef __GNUC__
  3182. #define alloca __builtin_alloca
  3183. #else /* not GNU C.  */
  3184. #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
  3185. #include <alloca.h>
  3186. #else /* not sparc */
  3187. #if defined (MSDOS) && !defined (__TURBOC__)
  3188. #include <malloc.h>
  3189. #else /* not MSDOS, or __TURBOC__ */
  3190. #if defined(_AIX)
  3191. #include <malloc.h>
  3192.  #pragma alloca
  3193. #else /* not MSDOS, __TURBOC__, or _AIX */
  3194. #ifdef __hpux
  3195. #ifdef __cplusplus
  3196. extern "C" {
  3197. void *alloca (unsigned int);
  3198. };
  3199. #else /* not __cplusplus */
  3200. void *alloca ();
  3201. #endif /* not __cplusplus */
  3202. #endif /* __hpux */
  3203. #endif /* not _AIX */
  3204. #endif /* not MSDOS, or __TURBOC__ */
  3205. #endif /* not sparc.  */
  3206. #endif /* not GNU C.  */
  3207. #endif /* alloca not defined.  */
  3208.  
  3209. /* This is the parser code that is written into each bison parser
  3210.   when the %semantic_parser declaration is not specified in the grammar.
  3211.   It was written by Richard Stallman by simplifying the hairy parser
  3212.   used when %semantic_parser is specified.  */
  3213.  
  3214. /* Note: there must be only one dollar sign in this file.
  3215.    It is replaced by the list of actions, each action
  3216.    as one case of the switch.  */
  3217.  
  3218. #define yyerrok        (yyerrstatus = 0)
  3219. #define yyclearin    (yychar = YYEMPTY)
  3220. #define YYEMPTY        -2
  3221. #define YYEOF        0
  3222. #define YYACCEPT    return(0)
  3223. #define YYABORT     return(1)
  3224. #define YYERROR        goto yyerrlab1
  3225. /* Like YYERROR except do call yyerror.
  3226.    This remains here temporarily to ease the
  3227.    transition to the new meaning of YYERROR, for GCC.
  3228.    Once GCC version 2 has supplanted version 1, this can go.  */
  3229. #define YYFAIL        goto yyerrlab
  3230. #define YYRECOVERING()  (!!yyerrstatus)
  3231. #define YYBACKUP(token, value) \
  3232. do                                \
  3233.   if (yychar == YYEMPTY && yylen == 1)                \
  3234.     { yychar = (token), yylval = (value);            \
  3235.       yychar1 = YYTRANSLATE (yychar);                \
  3236.       YYPOPSTACK;                        \
  3237.       goto yybackup;                        \
  3238.     }                                \
  3239.   else                                \
  3240.     { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  3241. while (0)
  3242.  
  3243. #define YYTERROR    1
  3244. #define YYERRCODE    256
  3245.  
  3246. #ifndef YYPURE
  3247. #define YYLEX        yylex()
  3248. #endif
  3249.  
  3250. #ifdef YYPURE
  3251. #ifdef YYLSP_NEEDED
  3252. #define YYLEX        yylex(&yylval, &yylloc)
  3253. #else
  3254. #define YYLEX        yylex(&yylval)
  3255. #endif
  3256. #endif
  3257.  
  3258. /* If nonreentrant, generate the variables here */
  3259.  
  3260. #ifndef YYPURE
  3261.  
  3262. int    yychar;            /*  the lookahead symbol        */
  3263. YYSTYPE    yylval;            /*  the semantic value of the        */
  3264.                 /*  lookahead symbol            */
  3265.  
  3266. #ifdef YYLSP_NEEDED
  3267. YYLTYPE yylloc;            /*  location data for the lookahead    */
  3268.                 /*  symbol                */
  3269. #endif
  3270.  
  3271. int yynerrs;            /*  number of parse errors so far       */
  3272. #endif  /* not YYPURE */
  3273.  
  3274. #if YYDEBUG != 0
  3275. int yydebug;            /*  nonzero means print parse trace    */
  3276. /* Since this is uninitialized, it does not stop multiple parsers
  3277.    from coexisting.  */
  3278. #endif
  3279.  
  3280. /*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  3281.  
  3282. #ifndef    YYINITDEPTH
  3283. #define YYINITDEPTH 200
  3284. #endif
  3285.  
  3286. /*  YYMAXDEPTH is the maximum size the stacks can grow to
  3287.     (effective only if the built-in stack extension method is used).  */
  3288.  
  3289. #if YYMAXDEPTH == 0
  3290. #undef YYMAXDEPTH
  3291. #endif
  3292.  
  3293. #ifndef YYMAXDEPTH
  3294. #define YYMAXDEPTH 10000
  3295. #endif
  3296.  
  3297. /* Prevent warning if -Wstrict-prototypes.  */
  3298. #ifdef __GNUC__
  3299. int yyparse (void);
  3300. #endif
  3301.  
  3302. #if __GNUC__ > 1        /* GNU C and GNU C++ define this.  */
  3303. #define __yy_bcopy(FROM,TO,COUNT)    __builtin_memcpy(TO,FROM,COUNT)
  3304. #else                /* not GNU C or C++ */
  3305. #ifndef __cplusplus
  3306.  
  3307. /* This is the most reliable way to avoid incompatibilities
  3308.    in available built-in functions on various systems.  */
  3309. static void
  3310. __yy_bcopy (from, to, count)
  3311.      char *from;
  3312.      char *to;
  3313.      int count;
  3314. {
  3315.   register char *f = from;
  3316.   register char *t = to;
  3317.   register int i = count;
  3318.  
  3319.   while (i-- > 0)
  3320.     *t++ = *f++;
  3321. }
  3322.  
  3323. #else /* __cplusplus */
  3324.  
  3325. /* This is the most reliable way to avoid incompatibilities
  3326.    in available built-in functions on various systems.  */
  3327. static void
  3328. __yy_bcopy (char *from, char *to, int count)
  3329. {
  3330.   register char *f = from;
  3331.   register char *t = to;
  3332.   register int i = count;
  3333.  
  3334.   while (i-- > 0)
  3335.     *t++ = *f++;
  3336. }
  3337.  
  3338. #endif
  3339. #endif
  3340.  
  3341. #line 184 "/usr/local/lib/bison.simple"
  3342.  
  3343. /* The user can define YYPARSE_PARAM as the name of an argument to be passed
  3344.    into yyparse.  The argument should have type void *.
  3345.    It should actually point to an object.
  3346.    Grammar actions can access the variable by casting it
  3347.    to the proper pointer type.  */
  3348.  
  3349. #ifdef YYPARSE_PARAM
  3350. #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
  3351. #else
  3352. #define YYPARSE_PARAM
  3353. #define YYPARSE_PARAM_DECL
  3354. #endif
  3355.  
  3356. int
  3357. yyparse(YYPARSE_PARAM)
  3358.      YYPARSE_PARAM_DECL
  3359. {
  3360.   register int yystate;
  3361.   register int yyn;
  3362.   register short *yyssp;
  3363.   register YYSTYPE *yyvsp;
  3364.   int yyerrstatus;    /*  number of tokens to shift before error messages enabled */
  3365.   int yychar1 = 0;        /*  lookahead token as an internal (translated) token number */
  3366.  
  3367.   short    yyssa[YYINITDEPTH];    /*  the state stack            */
  3368.   YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  3369.  
  3370.   short *yyss = yyssa;        /*  refer to the stacks thru separate pointers */
  3371.   YYSTYPE *yyvs = yyvsa;    /*  to allow yyoverflow to reallocate them elsewhere */
  3372.  
  3373. #ifdef YYLSP_NEEDED
  3374.   YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  3375.   YYLTYPE *yyls = yylsa;
  3376.   YYLTYPE *yylsp;
  3377.  
  3378. #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
  3379. #else
  3380. #define YYPOPSTACK   (yyvsp--, yyssp--)
  3381. #endif
  3382.  
  3383.   int yystacksize = YYINITDEPTH;
  3384.  
  3385. #ifdef YYPURE
  3386.   int yychar;
  3387.   YYSTYPE yylval;
  3388.   int yynerrs;
  3389. #ifdef YYLSP_NEEDED
  3390.   YYLTYPE yylloc;
  3391. #endif
  3392. #endif
  3393.  
  3394.   YYSTYPE yyval;        /*  the variable used to return        */
  3395.                 /*  semantic values from the action    */
  3396.                 /*  routines                */
  3397.  
  3398.   int yylen;
  3399.  
  3400. #if YYDEBUG != 0
  3401.   if (yydebug)
  3402.     fprintf(stderr, "Starting parse\n");
  3403. #endif
  3404.  
  3405.   yystate = 0;
  3406.   yyerrstatus = 0;
  3407.   yynerrs = 0;
  3408.   yychar = YYEMPTY;        /* Cause a token to be read.  */
  3409.  
  3410.   /* Initialize stack pointers.
  3411.      Waste one element of value and location stack
  3412.      so that they stay on the same level as the state stack.
  3413.      The wasted elements are never initialized.  */
  3414.  
  3415.   yyssp = yyss - 1;
  3416.   yyvsp = yyvs;
  3417. #ifdef YYLSP_NEEDED
  3418.   yylsp = yyls;
  3419. #endif
  3420.  
  3421. /* Push a new state, which is found in  yystate  .  */
  3422. /* In all cases, when you get here, the value and location stacks
  3423.    have just been pushed. so pushing a state here evens the stacks.  */
  3424. yynewstate:
  3425.  
  3426.   *++yyssp = yystate;
  3427.  
  3428.   if (yyssp >= yyss + yystacksize - 1)
  3429.     {
  3430.       /* Give user a chance to reallocate the stack */
  3431.       /* Use copies of these so that the &'s don't force the real ones into memory. */
  3432.       YYSTYPE *yyvs1 = yyvs;
  3433.       short *yyss1 = yyss;
  3434. #ifdef YYLSP_NEEDED
  3435.       YYLTYPE *yyls1 = yyls;
  3436. #endif
  3437.  
  3438.       /* Get the current used size of the three stacks, in elements.  */
  3439.       int size = yyssp - yyss + 1;
  3440.  
  3441. #ifdef yyoverflow
  3442.       /* Each stack pointer address is followed by the size of
  3443.      the data in use in that stack, in bytes.  */
  3444. #ifdef YYLSP_NEEDED
  3445.       /* This used to be a conditional around just the two extra args,
  3446.      but that might be undefined if yyoverflow is a macro.  */
  3447.       yyoverflow("parser stack overflow",
  3448.          &yyss1, size * sizeof (*yyssp),
  3449.          &yyvs1, size * sizeof (*yyvsp),
  3450.          &yyls1, size * sizeof (*yylsp),
  3451.          &yystacksize);
  3452. #else
  3453.       yyoverflow("parser stack overflow",
  3454.          &yyss1, size * sizeof (*yyssp),
  3455.          &yyvs1, size * sizeof (*yyvsp),
  3456.          &yystacksize);
  3457. #endif
  3458.  
  3459.       yyss = yyss1; yyvs = yyvs1;
  3460. #ifdef YYLSP_NEEDED
  3461.       yyls = yyls1;
  3462. #endif
  3463. #else /* no yyoverflow */
  3464.       /* Extend the stack our own way.  */
  3465.       if (yystacksize >= YYMAXDEPTH)
  3466.     {
  3467.       yyerror("parser stack overflow");
  3468.       return 2;
  3469.     }
  3470.       yystacksize *= 2;
  3471.       if (yystacksize > YYMAXDEPTH)
  3472.     yystacksize = YYMAXDEPTH;
  3473.       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  3474.       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  3475.       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  3476.       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  3477. #ifdef YYLSP_NEEDED
  3478.       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  3479.       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  3480. #endif
  3481. #endif /* no yyoverflow */
  3482.  
  3483.       yyssp = yyss + size - 1;
  3484.       yyvsp = yyvs + size - 1;
  3485. #ifdef YYLSP_NEEDED
  3486.       yylsp = yyls + size - 1;
  3487. #endif
  3488.  
  3489. #if YYDEBUG != 0
  3490.       if (yydebug)
  3491.     fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  3492. #endif
  3493.  
  3494.       if (yyssp >= yyss + yystacksize - 1)
  3495.     YYABORT;
  3496.     }
  3497.  
  3498. #if YYDEBUG != 0
  3499.   if (yydebug)
  3500.     fprintf(stderr, "Entering state %d\n", yystate);
  3501. #endif
  3502.  
  3503.   goto yybackup;
  3504.  yybackup:
  3505.  
  3506. /* Do appropriate processing given the current state.  */
  3507. /* Read a lookahead token if we need one and don't already have one.  */
  3508. /* yyresume: */
  3509.  
  3510.   /* First try to decide what to do without reference to lookahead token.  */
  3511.  
  3512.   yyn = yypact[yystate];
  3513.   if (yyn == YYFLAG)
  3514.     goto yydefault;
  3515.  
  3516.   /* Not known => get a lookahead token if don't already have one.  */
  3517.  
  3518.   /* yychar is either YYEMPTY or YYEOF
  3519.      or a valid token in external form.  */
  3520.  
  3521.   if (yychar == YYEMPTY)
  3522.     {
  3523. #if YYDEBUG != 0
  3524.       if (yydebug)
  3525.     fprintf(stderr, "Reading a token: ");
  3526. #endif
  3527.       yychar = YYLEX;
  3528.     }
  3529.  
  3530.   /* Convert token to internal form (in yychar1) for indexing tables with */
  3531.  
  3532.   if (yychar <= 0)        /* This means end of input. */
  3533.     {
  3534.       yychar1 = 0;
  3535.       yychar = YYEOF;        /* Don't call YYLEX any more */
  3536.  
  3537. #if YYDEBUG != 0
  3538.       if (yydebug)
  3539.     fprintf(stderr, "Now at end of input.\n");
  3540. #endif
  3541.     }
  3542.   else
  3543.     {
  3544.       yychar1 = YYTRANSLATE(yychar);
  3545.  
  3546. #if YYDEBUG != 0
  3547.       if (yydebug)
  3548.     {
  3549.       fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
  3550.       /* Give the individual parser a way to print the precise meaning
  3551.          of a token, for further debugging info.  */
  3552. #ifdef YYPRINT
  3553.       YYPRINT (stderr, yychar, yylval);
  3554. #endif
  3555.       fprintf (stderr, ")\n");
  3556.     }
  3557. #endif
  3558.     }
  3559.  
  3560.   yyn += yychar1;
  3561.   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
  3562.     goto yydefault;
  3563.  
  3564.   yyn = yytable[yyn];
  3565.  
  3566.   /* yyn is what to do for this token type in this state.
  3567.      Negative => reduce, -yyn is rule number.
  3568.      Positive => shift, yyn is new state.
  3569.        New state is final state => don't bother to shift,
  3570.        just return success.
  3571.      0, or most negative number => error.  */
  3572.  
  3573.   if (yyn < 0)
  3574.     {
  3575.       if (yyn == YYFLAG)
  3576.     goto yyerrlab;
  3577.       yyn = -yyn;
  3578.       goto yyreduce;
  3579.     }
  3580.   else if (yyn == 0)
  3581.     goto yyerrlab;
  3582.  
  3583.   if (yyn == YYFINAL)
  3584.     YYACCEPT;
  3585.  
  3586.   /* Shift the lookahead token.  */
  3587.  
  3588. #if YYDEBUG != 0
  3589.   if (yydebug)
  3590.     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
  3591. #endif
  3592.  
  3593.   /* Discard the token being shifted unless it is eof.  */
  3594.   if (yychar != YYEOF)
  3595.     yychar = YYEMPTY;
  3596.  
  3597.   *++yyvsp = yylval;
  3598. #ifdef YYLSP_NEEDED
  3599.   *++yylsp = yylloc;
  3600. #endif
  3601.  
  3602.   /* count tokens shifted since error; after three, turn off error status.  */
  3603.   if (yyerrstatus) yyerrstatus--;
  3604.  
  3605.   yystate = yyn;
  3606.   goto yynewstate;
  3607.  
  3608. /* Do the default action for the current state.  */
  3609. yydefault:
  3610.  
  3611.   yyn = yydefact[yystate];
  3612.   if (yyn == 0)
  3613.     goto yyerrlab;
  3614.  
  3615. /* Do a reduction.  yyn is the number of a rule to reduce with.  */
  3616. yyreduce:
  3617.   yylen = yyr2[yyn];
  3618.   if (yylen > 0)
  3619.     yyval = yyvsp[1-yylen]; /* implement default value of the action */
  3620.  
  3621. #if YYDEBUG != 0
  3622.   if (yydebug)
  3623.     {
  3624.       int i;
  3625.  
  3626.       fprintf (stderr, "Reducing via rule %d (line %d), ",
  3627.            yyn, yyrline[yyn]);
  3628.  
  3629.       /* Print the symbols being reduced, and their result.  */
  3630.       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  3631.     fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  3632.       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  3633.     }
  3634. #endif
  3635.  
  3636.  
  3637.   switch (yyn) {
  3638.  
  3639. case 2:
  3640. #line 293 "parse.y"
  3641. {
  3642.           /* In case there were missing closebraces,
  3643.              get us back to the global binding level.  */
  3644.           while (! global_bindings_p ())
  3645.             poplevel (0, 0, 0);
  3646.           finish_file ();
  3647.         ;
  3648.     break;}
  3649. case 3:
  3650. #line 307 "parse.y"
  3651. { yyval.ttype = NULL_TREE; ;
  3652.     break;}
  3653. case 4:
  3654. #line 308 "parse.y"
  3655. { yyval.ttype = NULL_TREE; ;
  3656.     break;}
  3657. case 5:
  3658. #line 310 "parse.y"
  3659. { yyval.ttype = NULL_TREE; ;
  3660.     break;}
  3661. case 6:
  3662. #line 314 "parse.y"
  3663. { have_extern_spec = 1;
  3664.           used_extern_spec = 0;
  3665.           yyval.ttype = NULL_TREE; ;
  3666.     break;}
  3667. case 7:
  3668. #line 319 "parse.y"
  3669. { have_extern_spec = 0; ;
  3670.     break;}
  3671. case 10:
  3672. #line 328 "parse.y"
  3673. { if (pending_lang_change) do_pending_lang_change(); ;
  3674.     break;}
  3675. case 11:
  3676. #line 330 "parse.y"
  3677. { if (! global_bindings_p () && ! pseudo_global_level_p())
  3678.           pop_everything (); ;
  3679.     break;}
  3680. case 12:
  3681. #line 336 "parse.y"
  3682. { if (pending_inlines) do_pending_inlines (); ;
  3683.     break;}
  3684. case 13:
  3685. #line 338 "parse.y"
  3686. { if (pending_inlines) do_pending_inlines (); ;
  3687.     break;}
  3688. case 14:
  3689. #line 340 "parse.y"
  3690. { if (pending_inlines) do_pending_inlines (); ;
  3691.     break;}
  3692. case 16:
  3693. #line 343 "parse.y"
  3694. { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  3695.           assemble_asm (yyvsp[-2].ttype); ;
  3696.     break;}
  3697. case 17:
  3698. #line 346 "parse.y"
  3699. { pop_lang_context (); ;
  3700.     break;}
  3701. case 18:
  3702. #line 348 "parse.y"
  3703. { pop_lang_context (); ;
  3704.     break;}
  3705. case 19:
  3706. #line 350 "parse.y"
  3707. { if (pending_inlines) do_pending_inlines ();
  3708.           pop_lang_context (); ;
  3709.     break;}
  3710. case 20:
  3711. #line 353 "parse.y"
  3712. { if (pending_inlines) do_pending_inlines ();
  3713.           pop_lang_context (); ;
  3714.     break;}
  3715. case 21:
  3716. #line 359 "parse.y"
  3717. { push_lang_context (yyvsp[0].ttype); ;
  3718.     break;}
  3719. case 22:
  3720. #line 364 "parse.y"
  3721. { begin_template_parm_list (); ;
  3722.     break;}
  3723. case 23:
  3724. #line 366 "parse.y"
  3725. { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
  3726.     break;}
  3727. case 24:
  3728. #line 371 "parse.y"
  3729. { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
  3730.     break;}
  3731. case 25:
  3732. #line 373 "parse.y"
  3733. { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  3734.     break;}
  3735. case 26:
  3736. #line 385 "parse.y"
  3737. {
  3738.           if (yyvsp[-1].ttype == signature_type_node)
  3739.             sorry ("signature as template type parameter");
  3740.           else if (yyvsp[-1].ttype != class_type_node)
  3741.             error ("template type parameter must use keyword `class'");
  3742.           yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
  3743.         ;
  3744.     break;}
  3745. case 27:
  3746. #line 393 "parse.y"
  3747. {
  3748.           if (yyvsp[-3].ttype == signature_type_node)
  3749.             sorry ("signature as template type parameter");
  3750.           else if (yyvsp[-3].ttype != class_type_node)
  3751.             error ("template type parameter must use keyword `class'");
  3752.           warning ("restricted template type parameters not yet implemented");
  3753.           yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
  3754.         ;
  3755.     break;}
  3756. case 29:
  3757. #line 406 "parse.y"
  3758. { warning ("use of `overload' is an anachronism"); ;
  3759.     break;}
  3760. case 30:
  3761. #line 410 "parse.y"
  3762. { declare_overloaded (yyvsp[0].ttype); ;
  3763.     break;}
  3764. case 31:
  3765. #line 412 "parse.y"
  3766. { declare_overloaded (yyvsp[0].ttype); ;
  3767.     break;}
  3768. case 32:
  3769. #line 419 "parse.y"
  3770. { yychar = '{'; goto template1; ;
  3771.     break;}
  3772. case 34:
  3773. #line 422 "parse.y"
  3774. { yychar = '{'; goto template1; ;
  3775.     break;}
  3776. case 36:
  3777. #line 425 "parse.y"
  3778. { yychar = ':'; goto template1; ;
  3779.     break;}
  3780. case 38:
  3781. #line 428 "parse.y"
  3782. {
  3783.           yychar = ':';
  3784.         template1:
  3785.           if (current_aggr == exception_type_node)
  3786.             error ("template type must define an aggregate or union");
  3787.           else if (current_aggr == signature_type_node)
  3788.             sorry ("template type defining a signature");
  3789.           /* Maybe pedantic warning for union?
  3790.              How about an enum? :-)  */
  3791.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 1);
  3792.           reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
  3793.           yychar = YYEMPTY;
  3794.         ;
  3795.     break;}
  3796. case 40:
  3797. #line 443 "parse.y"
  3798. {
  3799.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
  3800.           /* declare $2 as template name with $1 parm list */
  3801.         ;
  3802.     break;}
  3803. case 41:
  3804. #line 448 "parse.y"
  3805. {
  3806.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
  3807.           /* declare $2 as template name with $1 parm list */
  3808.         ;
  3809.     break;}
  3810. case 42:
  3811. #line 455 "parse.y"
  3812. {
  3813.           tree d;
  3814.           int momentary;
  3815.           int def = (yyvsp[0].itype != ';');
  3816.           momentary = suspend_momentary ();
  3817.           d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0,
  3818.                   yyvsp[-3].ttype);
  3819.           cplus_decl_attributes (d, yyvsp[-1].ttype);
  3820.           finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
  3821.           end_template_decl (yyvsp[-5].ttype, d, 0, def);
  3822.           if (def)
  3823.             reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
  3824.           resume_momentary (momentary);
  3825.         ;
  3826.     break;}
  3827. case 43:
  3828. #line 472 "parse.y"
  3829. {
  3830.           tree d;
  3831.           int momentary;
  3832.           int def = (yyvsp[0].itype != ';');
  3833.  
  3834.           current_declspecs = yyvsp[-5].ttype;
  3835.           momentary = suspend_momentary ();
  3836.           d = start_decl (yyvsp[-4].ttype, current_declspecs,
  3837.                   0, yyvsp[-3].ttype);
  3838.           cplus_decl_attributes (d, yyvsp[-1].ttype);
  3839.           finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
  3840.           end_template_decl (yyvsp[-6].ttype, d, 0, def);
  3841.           if (def)
  3842.             {
  3843.               reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
  3844.               yychar = YYEMPTY;
  3845.             }
  3846.           note_list_got_semicolon (yyvsp[-5].ttype);
  3847.           resume_momentary (momentary);
  3848.         ;
  3849.     break;}
  3850. case 44:
  3851. #line 493 "parse.y"
  3852. {
  3853.           int def = (yyvsp[0].itype != ';');
  3854.           tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
  3855.           finish_decl (d, NULL_TREE, NULL_TREE, 0);
  3856.           end_template_decl (yyvsp[-3].ttype, d, 0, def);
  3857.           if (def)
  3858.             reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
  3859.         ;
  3860.     break;}
  3861. case 45:
  3862. #line 502 "parse.y"
  3863. { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
  3864.     break;}
  3865. case 46:
  3866. #line 503 "parse.y"
  3867. { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
  3868.     break;}
  3869. case 47:
  3870. #line 506 "parse.y"
  3871. { yyval.itype = '{'; ;
  3872.     break;}
  3873. case 48:
  3874. #line 507 "parse.y"
  3875. { yyval.itype = ':'; ;
  3876.     break;}
  3877. case 49:
  3878. #line 508 "parse.y"
  3879. { yyval.itype = ';'; ;
  3880.     break;}
  3881. case 50:
  3882. #line 509 "parse.y"
  3883. { yyval.itype = '='; ;
  3884.     break;}
  3885. case 51:
  3886. #line 510 "parse.y"
  3887. { yyval.itype = RETURN; ;
  3888.     break;}
  3889. case 52:
  3890. #line 515 "parse.y"
  3891. {;
  3892.     break;}
  3893. case 53:
  3894. #line 517 "parse.y"
  3895. {;
  3896.     break;}
  3897. case 54:
  3898. #line 520 "parse.y"
  3899. { tree d;
  3900.           d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
  3901.           finish_decl (d, NULL_TREE, NULL_TREE, 0);
  3902.         ;
  3903.     break;}
  3904. case 55:
  3905. #line 525 "parse.y"
  3906. {
  3907.           note_list_got_semicolon (yyval.ttype);
  3908.         ;
  3909.     break;}
  3910. case 56:
  3911. #line 530 "parse.y"
  3912. { tree d;
  3913.           d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
  3914.           finish_decl (d, NULL_TREE, NULL_TREE, 0);
  3915.           note_list_got_semicolon (yyval.ttype);
  3916.         ;
  3917.     break;}
  3918. case 57:
  3919. #line 536 "parse.y"
  3920. { pedwarn ("empty declaration"); ;
  3921.     break;}
  3922. case 59:
  3923. #line 539 "parse.y"
  3924. {
  3925.         tree t = yyval.ttype;
  3926.         shadow_tag (t);
  3927.         if (TREE_CODE (t) == TREE_LIST
  3928.         && TREE_PURPOSE (t) == NULL_TREE)
  3929.           {
  3930.         t = TREE_VALUE (t);
  3931.         if (IS_AGGR_TYPE (t)
  3932.             && IDENTIFIER_TEMPLATE (TYPE_IDENTIFIER (t)))
  3933.           {
  3934.             if (CLASSTYPE_USE_TEMPLATE (t) == 0)
  3935.               SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
  3936.             else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
  3937.               error ("override declaration for already-expanded template");
  3938.           }
  3939.           }
  3940.         note_list_got_semicolon (yyval.ttype);
  3941.       ;
  3942.     break;}
  3943. case 63:
  3944. #line 564 "parse.y"
  3945. {
  3946.           finish_function (lineno, 1);
  3947.           /* finish_function performs these three statements:
  3948.  
  3949.              expand_end_bindings (getdecls (), 1, 0);
  3950.              poplevel (1, 1, 0);
  3951.  
  3952.              expand_end_bindings (0, 0, 0);
  3953.              poplevel (0, 0, 1);
  3954.              */
  3955.           if (yyval.ttype) process_next_inline (yyval.ttype);
  3956.         ;
  3957.     break;}
  3958. case 64:
  3959. #line 577 "parse.y"
  3960. {
  3961.           finish_function (lineno, 1);
  3962.           /* finish_function performs these three statements:
  3963.  
  3964.              expand_end_bindings (getdecls (), 1, 0);
  3965.              poplevel (1, 1, 0);
  3966.  
  3967.              expand_end_bindings (0, 0, 0);
  3968.              poplevel (0, 0, 1);
  3969.              */
  3970.           if (yyval.ttype) process_next_inline (yyval.ttype);
  3971.         ;
  3972.     break;}
  3973. case 65:
  3974. #line 590 "parse.y"
  3975. { finish_function (lineno, 0);
  3976.           if (yyval.ttype) process_next_inline (yyval.ttype); ;
  3977.     break;}
  3978. case 66:
  3979. #line 593 "parse.y"
  3980. { finish_function (lineno, 0);
  3981.           if (yyval.ttype) process_next_inline (yyval.ttype); ;
  3982.     break;}
  3983. case 67:
  3984. #line 596 "parse.y"
  3985. { finish_function (lineno, 0);
  3986.           if (yyval.ttype) process_next_inline (yyval.ttype); ;
  3987.     break;}
  3988. case 68:
  3989. #line 599 "parse.y"
  3990. {;
  3991.     break;}
  3992. case 69:
  3993. #line 601 "parse.y"
  3994. {;
  3995.     break;}
  3996. case 70:
  3997. #line 603 "parse.y"
  3998. {;
  3999.     break;}
  4000. case 71:
  4001. #line 608 "parse.y"
  4002. { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
  4003.             YYERROR1;
  4004.           reinit_parse_for_function ();
  4005.           yyval.ttype = NULL_TREE; ;
  4006.     break;}
  4007. case 72:
  4008. #line 613 "parse.y"
  4009. { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
  4010.             YYERROR1;
  4011.           reinit_parse_for_function ();
  4012.           yyval.ttype = NULL_TREE; ;
  4013.     break;}
  4014. case 73:
  4015. #line 618 "parse.y"
  4016. { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
  4017.             YYERROR1;
  4018.           reinit_parse_for_function ();
  4019.           yyval.ttype = NULL_TREE; ;
  4020.     break;}
  4021. case 74:
  4022. #line 623 "parse.y"
  4023. { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
  4024.           reinit_parse_for_function (); ;
  4025.     break;}
  4026. case 75:
  4027. #line 631 "parse.y"
  4028. {
  4029.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-5].ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
  4030.           yyval.ttype = start_method (TREE_CHAIN (yyvsp[-5].ttype), yyval.ttype, yyvsp[0].ttype);
  4031.          rest_of_mdef:
  4032.           if (! yyval.ttype)
  4033.             YYERROR1;
  4034.           if (yychar == YYEMPTY)
  4035.             yychar = YYLEX;
  4036.           reinit_parse_for_method (yychar, yyval.ttype); ;
  4037.     break;}
  4038. case 76:
  4039. #line 641 "parse.y"
  4040. {
  4041.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-3].ttype),
  4042.                      empty_parms (), yyvsp[-1].ttype);
  4043.           yyval.ttype = start_method (TREE_CHAIN (yyvsp[-3].ttype), yyval.ttype, yyvsp[0].ttype);
  4044.           goto rest_of_mdef;
  4045.         ;
  4046.     break;}
  4047. case 77:
  4048. #line 648 "parse.y"
  4049. { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4050.     break;}
  4051. case 78:
  4052. #line 650 "parse.y"
  4053. { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4054.     break;}
  4055. case 79:
  4056. #line 652 "parse.y"
  4057. { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4058.     break;}
  4059. case 80:
  4060. #line 656 "parse.y"
  4061. {
  4062.           if (! current_function_parms_stored)
  4063.             store_parm_decls ();
  4064.           yyval.ttype = yyvsp[0].ttype;
  4065.         ;
  4066.     break;}
  4067. case 81:
  4068. #line 664 "parse.y"
  4069. { store_return_init (yyval.ttype, NULL_TREE); ;
  4070.     break;}
  4071. case 82:
  4072. #line 666 "parse.y"
  4073. { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
  4074.     break;}
  4075. case 83:
  4076. #line 668 "parse.y"
  4077. { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
  4078.     break;}
  4079. case 84:
  4080. #line 670 "parse.y"
  4081. { store_return_init (yyval.ttype, NULL_TREE); ;
  4082.     break;}
  4083. case 85:
  4084. #line 675 "parse.y"
  4085. {
  4086.           if (yyvsp[0].itype == 0)
  4087.             error ("no base initializers given following ':'");
  4088.           setup_vtbl_ptr ();
  4089.           /* Always keep the BLOCK node associated with the outermost
  4090.              pair of curley braces of a function.  These are needed
  4091.              for correct operation of dwarfout.c.  */
  4092.           keep_next_level ();
  4093.         ;
  4094.     break;}
  4095. case 86:
  4096. #line 688 "parse.y"
  4097. {
  4098.           if (! current_function_parms_stored)
  4099.             store_parm_decls ();
  4100.  
  4101.           /* Flag that we are processing base and member initializers.  */
  4102.           current_vtable_decl = error_mark_node;
  4103.  
  4104.           if (DECL_CONSTRUCTOR_P (current_function_decl))
  4105.             {
  4106.               /* Make a contour for the initializer list.  */
  4107.               pushlevel (0);
  4108.               clear_last_expr ();
  4109.               expand_start_bindings (0);
  4110.             }
  4111.           else if (current_class_type == NULL_TREE)
  4112.             error ("base initializers not allowed for non-member functions");
  4113.           else if (! DECL_CONSTRUCTOR_P (current_function_decl))
  4114.             error ("only constructors take base initializers");
  4115.         ;
  4116.     break;}
  4117. case 87:
  4118. #line 711 "parse.y"
  4119. { yyval.itype = 0; ;
  4120.     break;}
  4121. case 88:
  4122. #line 713 "parse.y"
  4123. { yyval.itype = 1; ;
  4124.     break;}
  4125. case 91:
  4126. #line 719 "parse.y"
  4127. {
  4128.           if (current_class_name && !flag_traditional)
  4129.             pedwarn ("anachronistic old style base class initializer");
  4130.           expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
  4131.         ;
  4132.     break;}
  4133. case 92:
  4134. #line 725 "parse.y"
  4135. {
  4136.           if (current_class_name && !flag_traditional)
  4137.             pedwarn ("anachronistic old style base class initializer");
  4138.           expand_member_init (C_C_D, NULL_TREE, void_type_node);
  4139.         ;
  4140.     break;}
  4141. case 93:
  4142. #line 731 "parse.y"
  4143. { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
  4144.     break;}
  4145. case 94:
  4146. #line 733 "parse.y"
  4147. { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
  4148.     break;}
  4149. case 95:
  4150. #line 735 "parse.y"
  4151. { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
  4152.     break;}
  4153. case 96:
  4154. #line 737 "parse.y"
  4155. { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
  4156.     break;}
  4157. case 97:
  4158. #line 740 "parse.y"
  4159. {
  4160.           do_member_init (OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  4161.         ;
  4162.     break;}
  4163. case 98:
  4164. #line 744 "parse.y"
  4165. {
  4166.           do_member_init (OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), void_type_node);
  4167.         ;
  4168.     break;}
  4169. case 107:
  4170. #line 768 "parse.y"
  4171. { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, NULL_TREE); ;
  4172.     break;}
  4173. case 108:
  4174. #line 770 "parse.y"
  4175. { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ;
  4176.     break;}
  4177. case 109:
  4178. #line 772 "parse.y"
  4179. { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, yyvsp[-3].ttype); ;
  4180.     break;}
  4181. case 110:
  4182. #line 774 "parse.y"
  4183. { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); ;
  4184.     break;}
  4185. case 111:
  4186. #line 779 "parse.y"
  4187. { if (yyvsp[0].ttype) yyval.ttype = yyvsp[0].ttype; ;
  4188.     break;}
  4189. case 112:
  4190. #line 784 "parse.y"
  4191. { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4192.     break;}
  4193. case 113:
  4194. #line 786 "parse.y"
  4195. { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4196.     break;}
  4197. case 114:
  4198. #line 791 "parse.y"
  4199. { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
  4200.     break;}
  4201. case 115:
  4202. #line 796 "parse.y"
  4203. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  4204.     break;}
  4205. case 116:
  4206. #line 798 "parse.y"
  4207. { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4208.     break;}
  4209. case 117:
  4210. #line 803 "parse.y"
  4211. { yyval.ttype = groktypename (yyval.ttype); ;
  4212.     break;}
  4213. case 119:
  4214. #line 809 "parse.y"
  4215. {
  4216.           tree t, decl, tmpl;
  4217.  
  4218.           tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (yyvsp[-1].ttype));
  4219.           t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, yyvsp[-1].ttype, yyvsp[0].ttype, 0);
  4220.           set_current_level_tags_transparency (1);
  4221.           my_friendly_assert (TREE_CODE (t) == RECORD_TYPE
  4222.                       || TREE_CODE (t) == UNION_TYPE, 257);
  4223.           yyval.ttype = t;
  4224.  
  4225.           /* Now, put a copy of the decl in global scope, to avoid
  4226.              recursive expansion.  */
  4227.           decl = IDENTIFIER_LOCAL_VALUE (yyvsp[-1].ttype);
  4228.           if (!decl)
  4229.             decl = IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype);
  4230.           /* Now, put a copy of the decl in global scope, to avoid
  4231.              recursive expansion.  */
  4232.                   if (decl)
  4233.                     {
  4234.               /* Need to copy it to clear the chain pointer,
  4235.              and need to get it into permanent storage.  */
  4236.                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
  4237.               push_obstacks (&permanent_obstack, &permanent_obstack);
  4238.                       decl = copy_node (decl);
  4239.               if (DECL_LANG_SPECIFIC (decl))
  4240.             copy_lang_decl (decl);
  4241.               pop_obstacks ();
  4242.               pushdecl_top_level (decl);
  4243.             }
  4244.           /* Kludge; see instantiate_class_template.  */
  4245.           TYPE_BEING_DEFINED (t) = 0;
  4246.         ;
  4247.     break;}
  4248. case 120:
  4249. #line 842 "parse.y"
  4250. {
  4251.           tree t = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
  4252.  
  4253.           pop_obstacks ();
  4254.           end_template_instantiation (yyvsp[-5].ttype);
  4255.  
  4256.                   /* Now go after the methods & class data.  */
  4257.                   instantiate_member_templates (yyvsp[-5].ttype);
  4258.  
  4259.           pop_tinst_level();
  4260.  
  4261.           CLASSTYPE_GOT_SEMICOLON (t) = 1;
  4262.         ;
  4263.     break;}
  4264. case 121:
  4265. #line 859 "parse.y"
  4266. { yyval.ttype = NULL_TREE; ;
  4267.     break;}
  4268. case 122:
  4269. #line 861 "parse.y"
  4270. { yyval.ttype = yyvsp[0].ttype; ;
  4271.     break;}
  4272. case 123:
  4273. #line 866 "parse.y"
  4274. { yyval.ttype = NULL_TREE; /* never used from here... */;
  4275.     break;}
  4276. case 124:
  4277. #line 868 "parse.y"
  4278. { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
  4279.     break;}
  4280. case 125:
  4281. #line 872 "parse.y"
  4282. { yyval.code = NEGATE_EXPR; ;
  4283.     break;}
  4284. case 126:
  4285. #line 874 "parse.y"
  4286. { yyval.code = CONVERT_EXPR; ;
  4287.     break;}
  4288. case 127:
  4289. #line 876 "parse.y"
  4290. { yyval.code = PREINCREMENT_EXPR; ;
  4291.     break;}
  4292. case 128:
  4293. #line 878 "parse.y"
  4294. { yyval.code = PREDECREMENT_EXPR; ;
  4295.     break;}
  4296. case 129:
  4297. #line 880 "parse.y"
  4298. { yyval.code = TRUTH_NOT_EXPR; ;
  4299.     break;}
  4300. case 130:
  4301. #line 884 "parse.y"
  4302. { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
  4303.     break;}
  4304. case 132:
  4305. #line 890 "parse.y"
  4306. { error ("ANSI C++ forbids an empty condition for `%s'",
  4307.              cond_stmt_keyword);
  4308.           yyval.ttype = integer_zero_node; ;
  4309.     break;}
  4310. case 133:
  4311. #line 894 "parse.y"
  4312. { yyval.ttype = yyvsp[-1].ttype; ;
  4313.     break;}
  4314. case 134:
  4315. #line 899 "parse.y"
  4316. { error ("ANSI C++ forbids an empty condition for `%s'",
  4317.              cond_stmt_keyword);
  4318.           yyval.ttype = integer_zero_node; ;
  4319.     break;}
  4320. case 135:
  4321. #line 903 "parse.y"
  4322. { yyval.ttype = yyvsp[-1].ttype; ;
  4323.     break;}
  4324. case 136:
  4325. #line 908 "parse.y"
  4326. { yyval.ttype = NULL_TREE; ;
  4327.     break;}
  4328. case 138:
  4329. #line 911 "parse.y"
  4330. { yyval.ttype = NULL_TREE; ;
  4331.     break;}
  4332. case 139:
  4333. #line 916 "parse.y"
  4334. { {
  4335.           tree d;
  4336.           for (d = getdecls (); d; d = TREE_CHAIN (d))
  4337.             if (TREE_CODE (d) == TYPE_DECL) {
  4338.               tree s = TREE_TYPE (d);
  4339.               if (TREE_CODE (s) == RECORD_TYPE)
  4340.             cp_error ("definition of class `%T' in condition", s);
  4341.               else if (TREE_CODE (s) == ENUMERAL_TYPE)
  4342.             cp_error ("definition of enum `%T' in condition", s);
  4343.             }
  4344.           }
  4345.           current_declspecs = yyvsp[-5].ttype;
  4346.           yyvsp[0].itype = suspend_momentary ();
  4347.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  4348.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype);
  4349.         ;
  4350.     break;}
  4351. case 140:
  4352. #line 933 "parse.y"
  4353.           finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 0);
  4354.           resume_momentary (yyvsp[-2].itype);
  4355.           yyval.ttype = yyvsp[-1].ttype; 
  4356.           if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
  4357.             cp_error ("definition of array `%#D' in condition", yyval.ttype); 
  4358.         ;
  4359.     break;}
  4360. case 142:
  4361. #line 945 "parse.y"
  4362. { finish_stmt (); ;
  4363.     break;}
  4364. case 143:
  4365. #line 947 "parse.y"
  4366. { finish_stmt (); ;
  4367.     break;}
  4368. case 144:
  4369. #line 949 "parse.y"
  4370. { finish_stmt (); ;
  4371.     break;}
  4372. case 146:
  4373. #line 956 "parse.y"
  4374. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
  4375.                           build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4376.     break;}
  4377. case 147:
  4378. #line 959 "parse.y"
  4379. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
  4380.                           build_tree_list (NULL_TREE, error_mark_node)); ;
  4381.     break;}
  4382. case 148:
  4383. #line 962 "parse.y"
  4384. { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4385.     break;}
  4386. case 149:
  4387. #line 964 "parse.y"
  4388. { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
  4389.     break;}
  4390. case 150:
  4391. #line 969 "parse.y"
  4392. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  4393.     break;}
  4394. case 152:
  4395. #line 975 "parse.y"
  4396. {
  4397. #if 0
  4398.           if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
  4399.             yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
  4400. #endif
  4401.         ;
  4402.     break;}
  4403. case 153:
  4404. #line 983 "parse.y"
  4405. { yyvsp[0].itype = pedantic;
  4406.           pedantic = 0; ;
  4407.     break;}
  4408. case 154:
  4409. #line 986 "parse.y"
  4410. { yyval.ttype = yyvsp[0].ttype;
  4411.           pedantic = yyvsp[-2].itype; ;
  4412.     break;}
  4413. case 155:
  4414. #line 989 "parse.y"
  4415. { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
  4416.     break;}
  4417. case 156:
  4418. #line 991 "parse.y"
  4419. { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
  4420.     break;}
  4421. case 157:
  4422. #line 993 "parse.y"
  4423. { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
  4424.     break;}
  4425. case 158:
  4426. #line 995 "parse.y"
  4427. { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
  4428.           if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
  4429.             TREE_NEGATED_INT (yyval.ttype) = 1;
  4430.           overflow_warning (yyval.ttype);
  4431.         ;
  4432.     break;}
  4433. case 159:
  4434. #line 1002 "parse.y"
  4435. { tree label = lookup_label (yyvsp[0].ttype);
  4436.           if (label == NULL_TREE)
  4437.             yyval.ttype = null_pointer_node;
  4438.           else
  4439.             {
  4440.               TREE_USED (label) = 1;
  4441.               yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
  4442.               TREE_CONSTANT (yyval.ttype) = 1;
  4443.             }
  4444.         ;
  4445.     break;}
  4446. case 160:
  4447. #line 1013 "parse.y"
  4448. { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
  4449.               && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
  4450.             error ("sizeof applied to a bit-field");
  4451.           /* ANSI says arrays and functions are converted inside comma.
  4452.              But we can't really convert them in build_compound_expr
  4453.              because that would break commas in lvalues.
  4454.              So do the conversion here if operand was a comma.  */
  4455.           if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
  4456.               && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
  4457.               || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
  4458.             yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
  4459.           else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
  4460.                 {
  4461.               tree t = TREE_VALUE (yyvsp[0].ttype);
  4462.               if (t != NULL_TREE
  4463.               && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
  4464.             pedwarn ("ANSI C++ forbids using sizeof() on a function");
  4465.             }
  4466.           yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
  4467.     break;}
  4468. case 161:
  4469. #line 1033 "parse.y"
  4470. { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
  4471.     break;}
  4472. case 162:
  4473. #line 1035 "parse.y"
  4474. { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
  4475.     break;}
  4476. case 163:
  4477. #line 1037 "parse.y"
  4478. { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
  4479.     break;}
  4480. case 164:
  4481. #line 1042 "parse.y"
  4482. { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ttype, NULL_TREE, yyvsp[-1].itype); ;
  4483.     break;}
  4484. case 165:
  4485. #line 1044 "parse.y"
  4486. { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-2].itype); ;
  4487.     break;}
  4488. case 166:
  4489. #line 1046 "parse.y"
  4490. { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-2].itype); ;
  4491.     break;}
  4492. case 167:
  4493. #line 1048 "parse.y"
  4494. { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].itype); ;
  4495.     break;}
  4496. case 168:
  4497. #line 1050 "parse.y"
  4498. { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ttype),
  4499.                   NULL_TREE, yyvsp[-3].itype); ;
  4500.     break;}
  4501. case 169:
  4502. #line 1053 "parse.y"
  4503. { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-4].itype); ;
  4504.     break;}
  4505. case 170:
  4506. #line 1055 "parse.y"
  4507. { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ttype), NULL_TREE, yyvsp[-4].itype); ;
  4508.     break;}
  4509. case 171:
  4510. #line 1057 "parse.y"
  4511. { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-5].itype); ;
  4512.     break;}
  4513. case 172:
  4514. #line 1060 "parse.y"
  4515. { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
  4516.     break;}
  4517. case 173:
  4518. #line 1062 "parse.y"
  4519. { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
  4520.           if (yychar == YYEMPTY)
  4521.             yychar = YYLEX; ;
  4522.     break;}
  4523. case 174:
  4524. #line 1066 "parse.y"
  4525. { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
  4526.           if (yychar == YYEMPTY)
  4527.             yychar = YYLEX; ;
  4528.     break;}
  4529. case 175:
  4530. #line 1073 "parse.y"
  4531. { yyval.ttype = yyvsp[-1].ttype; ;
  4532.     break;}
  4533. case 176:
  4534. #line 1075 "parse.y"
  4535. {
  4536.           yyval.ttype = yyvsp[-1].ttype; 
  4537.           pedwarn ("old style placement syntax, use () instead");
  4538.         ;
  4539.     break;}
  4540. case 177:
  4541. #line 1083 "parse.y"
  4542. { yyval.ttype = yyvsp[-1].ttype; ;
  4543.     break;}
  4544. case 178:
  4545. #line 1085 "parse.y"
  4546. { yyval.ttype = NULL_TREE; ;
  4547.     break;}
  4548. case 179:
  4549. #line 1087 "parse.y"
  4550. {
  4551.           cp_error ("`%T' is not a valid expression", yyvsp[-1].ttype);
  4552.           yyval.ttype = error_mark_node;
  4553.         ;
  4554.     break;}
  4555. case 180:
  4556. #line 1095 "parse.y"
  4557. {
  4558.           if (flag_ansi)
  4559.             pedwarn ("ANSI C++ forbids initialization of new expression with `='");
  4560.           yyval.ttype = yyvsp[0].ttype;
  4561.         ;
  4562.     break;}
  4563. case 181:
  4564. #line 1105 "parse.y"
  4565. { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
  4566.           TREE_PARMLIST (yyvsp[-1].ttype) = 1;
  4567.           yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-1].ttype, 
  4568.                      NULL_TREE); ;
  4569.     break;}
  4570. case 182:
  4571. #line 1110 "parse.y"
  4572. { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
  4573.           TREE_PARMLIST (yyvsp[-1].ttype) = 1;
  4574.           yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4575.     break;}
  4576. case 184:
  4577. #line 1118 "parse.y"
  4578. { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
  4579.     break;}
  4580. case 185:
  4581. #line 1120 "parse.y"
  4582.           tree init = build_nt (CONSTRUCTOR, NULL_TREE,
  4583.                     nreverse (yyvsp[-2].ttype)); 
  4584.           if (flag_ansi)
  4585.             pedwarn ("ANSI C++ forbids constructor-expressions");
  4586.           /* Indicate that this was a GNU C constructor expression.  */
  4587.           TREE_HAS_CONSTRUCTOR (init) = 1;
  4588.  
  4589.           yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
  4590.         ;
  4591.     break;}
  4592. case 187:
  4593. #line 1135 "parse.y"
  4594. { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
  4595.     break;}
  4596. case 188:
  4597. #line 1137 "parse.y"
  4598. { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
  4599.     break;}
  4600. case 189:
  4601. #line 1139 "parse.y"
  4602. { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
  4603.             {
  4604.               tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
  4605.               if (! IS_SIGNATURE(type))
  4606.             yyval.ttype = CLASSTYPE_DOSSIER (type);
  4607.               else
  4608.             {
  4609.               sorry ("signature name as argument of `classof'");
  4610.               yyval.ttype = error_mark_node;
  4611.             }
  4612.             }
  4613.           else
  4614.             yyval.ttype = error_mark_node;
  4615.         ;
  4616.     break;}
  4617. case 191:
  4618. #line 1159 "parse.y"
  4619. { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
  4620.     break;}
  4621. case 192:
  4622. #line 1161 "parse.y"
  4623. { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
  4624.     break;}
  4625. case 193:
  4626. #line 1163 "parse.y"
  4627. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4628.     break;}
  4629. case 194:
  4630. #line 1165 "parse.y"
  4631. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4632.     break;}
  4633. case 195:
  4634. #line 1167 "parse.y"
  4635. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4636.     break;}
  4637. case 196:
  4638. #line 1169 "parse.y"
  4639. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4640.     break;}
  4641. case 197:
  4642. #line 1171 "parse.y"
  4643. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4644.     break;}
  4645. case 198:
  4646. #line 1173 "parse.y"
  4647. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4648.     break;}
  4649. case 199:
  4650. #line 1175 "parse.y"
  4651. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4652.     break;}
  4653. case 200:
  4654. #line 1177 "parse.y"
  4655. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4656.     break;}
  4657. case 201:
  4658. #line 1179 "parse.y"
  4659. { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4660.     break;}
  4661. case 202:
  4662. #line 1181 "parse.y"
  4663. { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4664.     break;}
  4665. case 203:
  4666. #line 1183 "parse.y"
  4667. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4668.     break;}
  4669. case 204:
  4670. #line 1185 "parse.y"
  4671. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4672.     break;}
  4673. case 205:
  4674. #line 1187 "parse.y"
  4675. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4676.     break;}
  4677. case 206:
  4678. #line 1189 "parse.y"
  4679. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4680.     break;}
  4681. case 207:
  4682. #line 1191 "parse.y"
  4683. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4684.     break;}
  4685. case 208:
  4686. #line 1193 "parse.y"
  4687. { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4688.     break;}
  4689. case 209:
  4690. #line 1195 "parse.y"
  4691. { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4692.     break;}
  4693. case 210:
  4694. #line 1197 "parse.y"
  4695. { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  4696.     break;}
  4697. case 211:
  4698. #line 1199 "parse.y"
  4699. { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
  4700.     break;}
  4701. case 212:
  4702. #line 1201 "parse.y"
  4703. { register tree rval;
  4704.           if ((rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
  4705.                          make_node (yyvsp[-1].code))))
  4706.             yyval.ttype = rval;
  4707.           else
  4708.             yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
  4709.     break;}
  4710. case 213:
  4711. #line 1208 "parse.y"
  4712. { yyval.ttype = build_throw (NULL_TREE); ;
  4713.     break;}
  4714. case 214:
  4715. #line 1210 "parse.y"
  4716. { yyval.ttype = build_throw (yyvsp[0].ttype); ;
  4717.     break;}
  4718. case 215:
  4719. #line 1228 "parse.y"
  4720. { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
  4721.     break;}
  4722. case 223:
  4723. #line 1243 "parse.y"
  4724. { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
  4725.     break;}
  4726. case 224:
  4727. #line 1245 "parse.y"
  4728. { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
  4729.     break;}
  4730. case 227:
  4731. #line 1252 "parse.y"
  4732. { push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
  4733.           TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  4734.     break;}
  4735. case 228:
  4736. #line 1258 "parse.y"
  4737. {
  4738.           if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
  4739.             yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
  4740.           else if (IDENTIFIER_OPNAME_P (yyval.ttype))
  4741.             {
  4742.               tree op = yyval.ttype;
  4743.               yyval.ttype = lookup_name (op, 0);
  4744.               if (yyval.ttype == NULL_TREE)
  4745.             {
  4746.               if (op != ansi_opname[ERROR_MARK])
  4747.                 error ("operator %s not defined",
  4748.                    operator_name_string (op));
  4749.               yyval.ttype = error_mark_node;
  4750.             }
  4751.             }
  4752.           else
  4753.             yyval.ttype = do_identifier (yyval.ttype);
  4754.         ;
  4755.     break;}
  4756. case 231:
  4757. #line 1279 "parse.y"
  4758. { yyval.ttype = combine_strings (yyval.ttype); ;
  4759.     break;}
  4760. case 232:
  4761. #line 1281 "parse.y"
  4762. { yyval.ttype = yyvsp[-1].ttype; ;
  4763.     break;}
  4764. case 233:
  4765. #line 1283 "parse.y"
  4766. { yyval.ttype = error_mark_node; ;
  4767.     break;}
  4768. case 234:
  4769. #line 1285 "parse.y"
  4770. { if (current_function_decl == 0)
  4771.             {
  4772.               error ("braced-group within expression allowed only inside a function");
  4773.               YYERROR;
  4774.             }
  4775.           keep_next_level ();
  4776.           yyval.ttype = expand_start_stmt_expr (); ;
  4777.     break;}
  4778. case 235:
  4779. #line 1293 "parse.y"
  4780. { tree rtl_exp;
  4781.           if (flag_ansi)
  4782.             pedwarn ("ANSI C++ forbids braced-groups within expressions");
  4783.           rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
  4784.           /* The statements have side effects, so the group does.  */
  4785.           TREE_SIDE_EFFECTS (rtl_exp) = 1;
  4786.  
  4787.           if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
  4788.             {
  4789.               /* Make a BIND_EXPR for the BLOCK already made.  */
  4790.               yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
  4791.                   NULL_TREE, rtl_exp, yyvsp[-1].ttype);
  4792.               /* Remove the block from the tree at this point.
  4793.              It gets put back at the proper place
  4794.              when the BIND_EXPR is expanded.  */
  4795.               delete_block (yyvsp[-1].ttype);
  4796.             }
  4797.           else
  4798.             yyval.ttype = yyvsp[-1].ttype;
  4799.         ;
  4800.     break;}
  4801. case 236:
  4802. #line 1314 "parse.y"
  4803. { /* [eichin:19911016.1902EST] */
  4804.                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
  4805.                   /* here we instantiate_class_template as needed... */
  4806.                   do_pending_templates ();
  4807.                 ;
  4808.     break;}
  4809. case 237:
  4810. #line 1318 "parse.y"
  4811. {
  4812.                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
  4813.                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
  4814.                 yyval.ttype = require_complete_type (yyvsp[-1].ttype);
  4815.                   else
  4816.                     yyval.ttype = yyvsp[-1].ttype;
  4817.                 ;
  4818.     break;}
  4819. case 238:
  4820. #line 1326 "parse.y"
  4821. {
  4822.           yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
  4823.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  4824.               && TREE_TYPE (yyval.ttype) != void_type_node)
  4825.             yyval.ttype = require_complete_type (yyval.ttype);
  4826.                 ;
  4827.     break;}
  4828. case 239:
  4829. #line 1333 "parse.y"
  4830. { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
  4831.     break;}
  4832. case 240:
  4833. #line 1335 "parse.y"
  4834. { /* If we get an OFFSET_REF, turn it into what it really
  4835.              means (e.g., a COMPONENT_REF).  This way if we've got,
  4836.              say, a reference to a static member that's being operated
  4837.              on, we don't end up trying to find a member operator for
  4838.              the class it's in.  */
  4839.           if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  4840.             yyval.ttype = resolve_offset_ref (yyval.ttype);
  4841.           yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
  4842.     break;}
  4843. case 241:
  4844. #line 1344 "parse.y"
  4845. { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  4846.             yyval.ttype = resolve_offset_ref (yyval.ttype);
  4847.           yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
  4848.     break;}
  4849. case 242:
  4850. #line 1349 "parse.y"
  4851. { if (current_class_decl)
  4852.             {
  4853. #ifdef WARNING_ABOUT_CCD
  4854.               TREE_USED (current_class_decl) = 1;
  4855. #endif
  4856.               yyval.ttype = current_class_decl;
  4857.             }
  4858.           else if (current_function_decl
  4859.                && DECL_STATIC_FUNCTION_P (current_function_decl))
  4860.             {
  4861.               error ("`this' is unavailable for static member functions");
  4862.               yyval.ttype = error_mark_node;
  4863.             }
  4864.           else
  4865.             {
  4866.               if (current_function_decl)
  4867.             error ("invalid use of `this' in non-member function");
  4868.               else
  4869.             error ("invalid use of `this' at top level");
  4870.               yyval.ttype = error_mark_node;
  4871.             }
  4872.         ;
  4873.     break;}
  4874. case 243:
  4875. #line 1372 "parse.y"
  4876. {
  4877.           tree type;
  4878.           tree id = yyval.ttype;
  4879.  
  4880.           /* This is a C cast in C++'s `functional' notation.  */
  4881.           if (yyvsp[-1].ttype == error_mark_node)
  4882.             {
  4883.               yyval.ttype = error_mark_node;
  4884.               break;
  4885.             }
  4886. #if 0
  4887.           if (yyvsp[-1].ttype == NULL_TREE)
  4888.             {
  4889.               error ("cannot cast null list to type `%s'",
  4890.                      IDENTIFIER_POINTER (TYPE_NAME (id)));
  4891.               yyval.ttype = error_mark_node;
  4892.               break;
  4893.             }
  4894. #endif
  4895. #if 0
  4896.           /* type is not set! (mrs) */
  4897.           if (type == error_mark_node)
  4898.             yyval.ttype = error_mark_node;
  4899.           else
  4900. #endif
  4901.             {
  4902.               if (id == ridpointers[(int) RID_CONST])
  4903.                 type = build_type_variant (integer_type_node, 1, 0);
  4904.               else if (id == ridpointers[(int) RID_VOLATILE])
  4905.                 type = build_type_variant (integer_type_node, 0, 1);
  4906. #if 0
  4907.               /* should not be able to get here (mrs) */
  4908.               else if (id == ridpointers[(int) RID_FRIEND])
  4909.                 {
  4910.                   error ("cannot cast expression to `friend' type");
  4911.                   yyval.ttype = error_mark_node;
  4912.                   break;
  4913.                 }
  4914. #endif
  4915.               else my_friendly_abort (79);
  4916.               yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
  4917.             }
  4918.         ;
  4919.     break;}
  4920. case 245:
  4921. #line 1417 "parse.y"
  4922. { tree type = groktypename (yyvsp[-4].ttype);
  4923.           yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
  4924.     break;}
  4925. case 246:
  4926. #line 1420 "parse.y"
  4927. { tree type = groktypename (yyvsp[-4].ttype);
  4928.           yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
  4929.     break;}
  4930. case 247:
  4931. #line 1423 "parse.y"
  4932. { tree type = groktypename (yyvsp[-4].ttype);
  4933.           yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
  4934.     break;}
  4935. case 248:
  4936. #line 1426 "parse.y"
  4937. { tree type = groktypename (yyvsp[-4].ttype);
  4938.           yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
  4939.     break;}
  4940. case 249:
  4941. #line 1429 "parse.y"
  4942. { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
  4943.     break;}
  4944. case 250:
  4945. #line 1431 "parse.y"
  4946. { tree type = groktypename (yyvsp[-1].ttype);
  4947.           yyval.ttype = get_typeid (type); ;
  4948.     break;}
  4949. case 251:
  4950. #line 1434 "parse.y"
  4951. {
  4952.         do_scoped_id:
  4953.           yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
  4954.           if (yychar == YYEMPTY)
  4955.             yychar = YYLEX;
  4956.           if (! yyval.ttype)
  4957.             {
  4958.               if (yychar == '(' || yychar == LEFT_RIGHT)
  4959.             yyval.ttype = implicitly_declare (yyvsp[0].ttype);
  4960.               else
  4961.             {
  4962.               if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
  4963.                 error ("undeclared variable `%s' (first use here)",
  4964.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  4965.               yyval.ttype = error_mark_node;
  4966.               /* Prevent repeated error messages.  */
  4967.               IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
  4968.             }
  4969.             }
  4970.           else
  4971.             {
  4972.               if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
  4973.             assemble_external (TREE_OPERAND (yyval.ttype, 0));
  4974.               else
  4975.             assemble_external (yyval.ttype);
  4976.               TREE_USED (yyval.ttype) = 1;
  4977.             }
  4978.           if (TREE_CODE (yyval.ttype) == CONST_DECL)
  4979.             {
  4980.               /* XXX CHS - should we set TREE_USED of the constant? */
  4981.               yyval.ttype = DECL_INITIAL (yyval.ttype);
  4982.               /* This is to prevent an enum whose value is 0
  4983.              from being considered a null pointer constant.  */
  4984.               yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
  4985.               TREE_CONSTANT (yyval.ttype) = 1;
  4986.             }
  4987.  
  4988.         ;
  4989.     break;}
  4990. case 252:
  4991. #line 1473 "parse.y"
  4992. {
  4993.           got_scope = NULL_TREE;
  4994.           if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
  4995.             goto do_scoped_id;
  4996.           yyval.ttype = yyvsp[0].ttype;
  4997.         ;
  4998.     break;}
  4999. case 253:
  5000. #line 1480 "parse.y"
  5001. { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
  5002.     break;}
  5003. case 254:
  5004. #line 1482 "parse.y"
  5005. { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
  5006.     break;}
  5007. case 255:
  5008. #line 1484 "parse.y"
  5009. { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
  5010.     break;}
  5011. case 256:
  5012. #line 1486 "parse.y"
  5013. { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
  5014.     break;}
  5015. case 257:
  5016. #line 1488 "parse.y"
  5017. { yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
  5018.     break;}
  5019. case 258:
  5020. #line 1490 "parse.y"
  5021. {
  5022. #if 0
  5023.           /* This is a future direction of this code, but because
  5024.              build_x_function_call cannot always undo what is done
  5025.              in build_component_ref entirely yet, we cannot do this. */
  5026.           yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, yyval.ttype);
  5027.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  5028.               && TREE_TYPE (yyval.ttype) != void_type_node)
  5029.             yyval.ttype = require_complete_type (yyval.ttype);
  5030. #else
  5031.           yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
  5032.                       (LOOKUP_NORMAL|LOOKUP_AGGR));
  5033. #endif
  5034.         ;
  5035.     break;}
  5036. case 259:
  5037. #line 1505 "parse.y"
  5038. {
  5039. #if 0
  5040.           /* This is a future direction of this code, but because
  5041.              build_x_function_call cannot always undo what is done
  5042.              in build_component_ref entirely yet, we cannot do this. */
  5043.           yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, yyval.ttype);
  5044.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  5045.               && TREE_TYPE (yyval.ttype) != void_type_node)
  5046.             yyval.ttype = require_complete_type (yyval.ttype);
  5047. #else
  5048.           yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
  5049.                       (LOOKUP_NORMAL|LOOKUP_AGGR));
  5050. #endif
  5051.         ;
  5052.     break;}
  5053. case 260:
  5054. #line 1520 "parse.y"
  5055. {
  5056.           if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
  5057.             {
  5058.               warning ("signature name in scope resolution ignored");
  5059.               yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
  5060.                           (LOOKUP_NORMAL|LOOKUP_AGGR));
  5061.             }
  5062.           else
  5063.             yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  5064.         ;
  5065.     break;}
  5066. case 261:
  5067. #line 1531 "parse.y"
  5068. {
  5069.           if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
  5070.             {
  5071.               warning ("signature name in scope resolution ignored");
  5072.               yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
  5073.                           (LOOKUP_NORMAL|LOOKUP_AGGR));
  5074.             }
  5075.           else
  5076.             yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
  5077.         ;
  5078.     break;}
  5079. case 262:
  5080. #line 1543 "parse.y"
  5081.           if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
  5082.               != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
  5083.             cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
  5084.           yyval.ttype = void_zero_node;
  5085.         ;
  5086.     break;}
  5087. case 263:
  5088. #line 1550 "parse.y"
  5089.           if (yyvsp[-4].ttype != yyvsp[-1].ttype)
  5090.             cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
  5091.           if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
  5092.               != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
  5093.             cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
  5094.           yyval.ttype = void_zero_node; 
  5095.         ;
  5096.     break;}
  5097. case 264:
  5098. #line 1599 "parse.y"
  5099. { yyval.itype = 0; ;
  5100.     break;}
  5101. case 265:
  5102. #line 1601 "parse.y"
  5103. { got_scope = NULL_TREE; yyval.itype = 1; ;
  5104.     break;}
  5105. case 266:
  5106. #line 1605 "parse.y"
  5107. { yyval.itype = 0; ;
  5108.     break;}
  5109. case 267:
  5110. #line 1607 "parse.y"
  5111. { got_scope = NULL_TREE; yyval.itype = 1; ;
  5112.     break;}
  5113. case 268:
  5114. #line 1612 "parse.y"
  5115. { yyval.ttype = true_node; ;
  5116.     break;}
  5117. case 269:
  5118. #line 1614 "parse.y"
  5119. { yyval.ttype = false_node; ;
  5120.     break;}
  5121. case 271:
  5122. #line 1621 "parse.y"
  5123. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  5124.     break;}
  5125. case 272:
  5126. #line 1626 "parse.y"
  5127. {
  5128.           if (! current_function_parms_stored)
  5129.             store_parm_decls ();
  5130.           setup_vtbl_ptr ();
  5131.           /* Always keep the BLOCK node associated with the outermost
  5132.              pair of curley braces of a function.  These are needed
  5133.              for correct operation of dwarfout.c.  */
  5134.           keep_next_level ();
  5135.         ;
  5136.     break;}
  5137. case 274:
  5138. #line 1639 "parse.y"
  5139. {
  5140.           yyval.ttype = build_x_arrow (yyval.ttype);
  5141.         ;
  5142.     break;}
  5143. case 275:
  5144. #line 1647 "parse.y"
  5145. { tree d = get_decl_list (yyvsp[-2].ttype);
  5146.           int yes = suspend_momentary ();
  5147.           d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  5148.           finish_decl (d, NULL_TREE, NULL_TREE, 0);
  5149.           resume_momentary (yes);
  5150.           if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  5151.             note_got_semicolon (yyvsp[-2].ttype);
  5152.         ;
  5153.     break;}
  5154. case 276:
  5155. #line 1656 "parse.y"
  5156. { tree d = yyvsp[-2].ttype;
  5157.           int yes = suspend_momentary ();
  5158.           d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  5159.           finish_decl (d, NULL_TREE, NULL_TREE, 0);
  5160.           resume_momentary (yes);
  5161.           note_list_got_semicolon (yyvsp[-2].ttype);
  5162.         ;
  5163.     break;}
  5164. case 277:
  5165. #line 1664 "parse.y"
  5166. {
  5167.           resume_momentary (yyvsp[-1].itype);
  5168.           if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  5169.             note_got_semicolon (yyvsp[-2].ttype);
  5170.         ;
  5171.     break;}
  5172. case 278:
  5173. #line 1670 "parse.y"
  5174. {
  5175.           resume_momentary (yyvsp[-1].itype);
  5176.           note_list_got_semicolon (yyvsp[-2].ttype);
  5177.         ;
  5178.     break;}
  5179. case 279:
  5180. #line 1675 "parse.y"
  5181. { resume_momentary (yyvsp[-1].itype); ;
  5182.     break;}
  5183. case 280:
  5184. #line 1677 "parse.y"
  5185. {
  5186.           shadow_tag (yyvsp[-1].ttype);
  5187.           note_list_got_semicolon (yyvsp[-1].ttype);
  5188.         ;
  5189.     break;}
  5190. case 281:
  5191. #line 1682 "parse.y"
  5192. { warning ("empty declaration"); ;
  5193.     break;}
  5194. case 284:
  5195. #line 1696 "parse.y"
  5196. { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
  5197.                      NULL_TREE); ;
  5198.     break;}
  5199. case 285:
  5200. #line 1699 "parse.y"
  5201. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), 
  5202.                      NULL_TREE); ;
  5203.     break;}
  5204. case 286:
  5205. #line 1706 "parse.y"
  5206. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  5207.     break;}
  5208. case 287:
  5209. #line 1708 "parse.y"
  5210. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  5211.     break;}
  5212. case 288:
  5213. #line 1710 "parse.y"
  5214. { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  5215.     break;}
  5216. case 289:
  5217. #line 1712 "parse.y"
  5218. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  5219.     break;}
  5220. case 290:
  5221. #line 1714 "parse.y"
  5222. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  5223.     break;}
  5224. case 293:
  5225. #line 1727 "parse.y"
  5226. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5227.     break;}
  5228. case 294:
  5229. #line 1729 "parse.y"
  5230. { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  5231.     break;}
  5232. case 295:
  5233. #line 1731 "parse.y"
  5234. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5235.     break;}
  5236. case 296:
  5237. #line 1733 "parse.y"
  5238. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5239.     break;}
  5240. case 297:
  5241. #line 1735 "parse.y"
  5242. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype, 
  5243.                        chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
  5244.     break;}
  5245. case 298:
  5246. #line 1741 "parse.y"
  5247. { if (extra_warnings)
  5248.             warning ("`%s' is not at beginning of declaration",
  5249.                  IDENTIFIER_POINTER (yyval.ttype));
  5250.           yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  5251.     break;}
  5252. case 299:
  5253. #line 1746 "parse.y"
  5254. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5255.     break;}
  5256. case 300:
  5257. #line 1748 "parse.y"
  5258. { if (extra_warnings)
  5259.             warning ("`%s' is not at beginning of declaration",
  5260.                  IDENTIFIER_POINTER (yyvsp[0].ttype));
  5261.           yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5262.     break;}
  5263. case 301:
  5264. #line 1760 "parse.y"
  5265. { TREE_STATIC (yyval.ttype) = 1; ;
  5266.     break;}
  5267. case 302:
  5268. #line 1762 "parse.y"
  5269. { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  5270.     break;}
  5271. case 303:
  5272. #line 1764 "parse.y"
  5273. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  5274.           TREE_STATIC (yyval.ttype) = 1; ;
  5275.     break;}
  5276. case 304:
  5277. #line 1767 "parse.y"
  5278. { if (extra_warnings && TREE_STATIC (yyval.ttype))
  5279.             warning ("`%s' is not at beginning of declaration",
  5280.                  IDENTIFIER_POINTER (yyvsp[0].ttype));
  5281.           yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  5282.           TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
  5283.     break;}
  5284. case 305:
  5285. #line 1783 "parse.y"
  5286. { yyval.ttype = get_decl_list (yyval.ttype); ;
  5287.     break;}
  5288. case 306:
  5289. #line 1785 "parse.y"
  5290. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5291.     break;}
  5292. case 307:
  5293. #line 1787 "parse.y"
  5294. { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  5295.     break;}
  5296. case 308:
  5297. #line 1789 "parse.y"
  5298. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5299.     break;}
  5300. case 309:
  5301. #line 1794 "parse.y"
  5302. { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  5303.     break;}
  5304. case 310:
  5305. #line 1796 "parse.y"
  5306. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5307.     break;}
  5308. case 314:
  5309. #line 1807 "parse.y"
  5310. { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
  5311.           if (flag_ansi)
  5312.             pedwarn ("ANSI C++ forbids `typeof'"); ;
  5313.     break;}
  5314. case 315:
  5315. #line 1811 "parse.y"
  5316. { yyval.ttype = groktypename (yyvsp[-1].ttype);
  5317.           if (flag_ansi)
  5318.             pedwarn ("ANSI C++ forbids `typeof'"); ;
  5319.     break;}
  5320. case 316:
  5321. #line 1815 "parse.y"
  5322. { tree type = TREE_TYPE (yyvsp[-1].ttype);
  5323.  
  5324.           if (IS_AGGR_TYPE (type))
  5325.             {
  5326.               sorry ("sigof type specifier");
  5327.               yyval.ttype = type;
  5328.             }
  5329.           else
  5330.             {
  5331.               error ("`sigof' applied to non-aggregate expression");
  5332.               yyval.ttype = error_mark_node;
  5333.             }
  5334.         ;
  5335.     break;}
  5336. case 317:
  5337. #line 1829 "parse.y"
  5338. { tree type = groktypename (yyvsp[-1].ttype);
  5339.  
  5340.           if (IS_AGGR_TYPE (type))
  5341.             {
  5342.               sorry ("sigof type specifier");
  5343.               yyval.ttype = type;
  5344.             }
  5345.           else
  5346.             {
  5347.               error("`sigof' applied to non-aggregate type");
  5348.               yyval.ttype = error_mark_node;
  5349.             }
  5350.         ;
  5351.     break;}
  5352. case 327:
  5353. #line 1868 "parse.y"
  5354. { yyval.ttype = NULL_TREE; ;
  5355.     break;}
  5356. case 328:
  5357. #line 1870 "parse.y"
  5358. { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
  5359.     break;}
  5360. case 329:
  5361. #line 1875 "parse.y"
  5362. { current_declspecs = yyvsp[-5].ttype;
  5363.           if (TREE_CODE (current_declspecs) != TREE_LIST)
  5364.             current_declspecs = get_decl_list (current_declspecs);
  5365.           if (have_extern_spec && !used_extern_spec)
  5366.             {
  5367.               current_declspecs = decl_tree_cons
  5368.             (NULL_TREE, get_identifier ("extern"), 
  5369.              current_declspecs);
  5370.               used_extern_spec = 1;
  5371.             }
  5372.           yyvsp[0].itype = suspend_momentary ();
  5373.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5374.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  5375.     break;}
  5376. case 330:
  5377. #line 1890 "parse.y"
  5378. { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  5379.           yyval.itype = yyvsp[-2].itype; ;
  5380.     break;}
  5381. case 331:
  5382. #line 1893 "parse.y"
  5383. { tree d;
  5384.           current_declspecs = yyvsp[-4].ttype;
  5385.           if (TREE_CODE (current_declspecs) != TREE_LIST)
  5386.             current_declspecs = get_decl_list (current_declspecs);
  5387.           if (have_extern_spec && !used_extern_spec)
  5388.             {
  5389.               current_declspecs = decl_tree_cons
  5390.             (NULL_TREE, get_identifier ("extern"), 
  5391.              current_declspecs);
  5392.               used_extern_spec = 1;
  5393.             }
  5394.           yyval.itype = suspend_momentary ();
  5395.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5396.           cplus_decl_attributes (d, yyvsp[0].ttype);
  5397.           finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  5398.     break;}
  5399. case 332:
  5400. #line 1912 "parse.y"
  5401. { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5402.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  5403.     break;}
  5404. case 333:
  5405. #line 1916 "parse.y"
  5406. { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
  5407.     break;}
  5408. case 334:
  5409. #line 1918 "parse.y"
  5410. { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5411.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
  5412.           finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0); ;
  5413.     break;}
  5414. case 335:
  5415. #line 1925 "parse.y"
  5416. { current_declspecs = yyvsp[-5].ttype;
  5417.           yyvsp[0].itype = suspend_momentary ();
  5418.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5419.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  5420.     break;}
  5421. case 336:
  5422. #line 1931 "parse.y"
  5423. { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  5424.           yyval.itype = yyvsp[-2].itype; ;
  5425.     break;}
  5426. case 337:
  5427. #line 1934 "parse.y"
  5428. { tree d;
  5429.           current_declspecs = yyvsp[-4].ttype;
  5430.           yyval.itype = suspend_momentary ();
  5431.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5432.           cplus_decl_attributes (d, yyvsp[0].ttype);
  5433.           finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  5434.     break;}
  5435. case 338:
  5436. #line 1944 "parse.y"
  5437. { current_declspecs = NULL_TREE;
  5438.           yyvsp[0].itype = suspend_momentary ();
  5439.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5440.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
  5441.     break;}
  5442. case 339:
  5443. #line 1950 "parse.y"
  5444. { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
  5445.           yyval.itype = yyvsp[-2].itype; ;
  5446.     break;}
  5447. case 340:
  5448. #line 1953 "parse.y"
  5449. { tree d;
  5450.           current_declspecs = NULL_TREE;
  5451.           yyval.itype = suspend_momentary ();
  5452.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5453.           cplus_decl_attributes (d, yyvsp[0].ttype);
  5454.           finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
  5455.     break;}
  5456. case 341:
  5457. #line 1965 "parse.y"
  5458. { yyval.ttype = NULL_TREE; ;
  5459.     break;}
  5460. case 342:
  5461. #line 1967 "parse.y"
  5462. { yyval.ttype = yyvsp[0].ttype; ;
  5463.     break;}
  5464. case 343:
  5465. #line 1972 "parse.y"
  5466. { yyval.ttype = yyvsp[0].ttype; ;
  5467.     break;}
  5468. case 344:
  5469. #line 1974 "parse.y"
  5470. { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  5471.     break;}
  5472. case 345:
  5473. #line 1979 "parse.y"
  5474. { yyval.ttype = yyvsp[-2].ttype; ;
  5475.     break;}
  5476. case 346:
  5477. #line 1984 "parse.y"
  5478. { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  5479.     break;}
  5480. case 347:
  5481. #line 1986 "parse.y"
  5482. { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  5483.     break;}
  5484. case 348:
  5485. #line 1991 "parse.y"
  5486. { yyval.ttype = NULL_TREE; ;
  5487.     break;}
  5488. case 349:
  5489. #line 1993 "parse.y"
  5490. { yyval.ttype = yyvsp[0].ttype; ;
  5491.     break;}
  5492. case 350:
  5493. #line 1995 "parse.y"
  5494. { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
  5495.     break;}
  5496. case 351:
  5497. #line 1997 "parse.y"
  5498. { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
  5499.     break;}
  5500. case 352:
  5501. #line 1999 "parse.y"
  5502. { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
  5503.     break;}
  5504. case 357:
  5505. #line 2015 "parse.y"
  5506. { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  5507.     break;}
  5508. case 358:
  5509. #line 2017 "parse.y"
  5510. { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  5511.     break;}
  5512. case 360:
  5513. #line 2023 "parse.y"
  5514. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
  5515.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5516.     break;}
  5517. case 361:
  5518. #line 2026 "parse.y"
  5519. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
  5520.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5521.     break;}
  5522. case 362:
  5523. #line 2029 "parse.y"
  5524. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
  5525.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5526.     break;}
  5527. case 363:
  5528. #line 2032 "parse.y"
  5529. { yyval.ttype = NULL_TREE; ;
  5530.     break;}
  5531. case 364:
  5532. #line 2039 "parse.y"
  5533. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  5534.     break;}
  5535. case 365:
  5536. #line 2041 "parse.y"
  5537. { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5538.     break;}
  5539. case 366:
  5540. #line 2044 "parse.y"
  5541. { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  5542.     break;}
  5543. case 367:
  5544. #line 2046 "parse.y"
  5545. { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  5546.     break;}
  5547. case 368:
  5548. #line 2048 "parse.y"
  5549. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  5550.     break;}
  5551. case 369:
  5552. #line 2050 "parse.y"
  5553. { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  5554.     break;}
  5555. case 370:
  5556. #line 2055 "parse.y"
  5557. { yyvsp[0].itype = suspend_momentary ();
  5558.           yyval.ttype = start_enum (yyvsp[-1].ttype); ;
  5559.     break;}
  5560. case 371:
  5561. #line 2058 "parse.y"
  5562. { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  5563.           resume_momentary ((int) yyvsp[-4].itype);
  5564.           check_for_missing_semicolon (yyvsp[-3].ttype); ;
  5565.     break;}
  5566. case 372:
  5567. #line 2062 "parse.y"
  5568. { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
  5569.           check_for_missing_semicolon (yyval.ttype); ;
  5570.     break;}
  5571. case 373:
  5572. #line 2065 "parse.y"
  5573. { yyvsp[0].itype = suspend_momentary ();
  5574.           yyval.ttype = start_enum (make_anon_name ()); ;
  5575.     break;}
  5576. case 374:
  5577. #line 2068 "parse.y"
  5578. { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  5579.           resume_momentary ((int) yyvsp[-5].itype);
  5580.           check_for_missing_semicolon (yyvsp[-3].ttype); ;
  5581.     break;}
  5582. case 375:
  5583. #line 2072 "parse.y"
  5584. { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
  5585.           check_for_missing_semicolon (yyval.ttype); ;
  5586.     break;}
  5587. case 376:
  5588. #line 2075 "parse.y"
  5589. { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  5590.     break;}
  5591. case 377:
  5592. #line 2077 "parse.y"
  5593. { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
  5594.     break;}
  5595. case 378:
  5596. #line 2081 "parse.y"
  5597. {
  5598.           int semi;
  5599.           tree id;
  5600.  
  5601. #if 0
  5602.           /* Need to rework class nesting in the
  5603.              presence of nested classes, etc.  */
  5604.           shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
  5605. #endif
  5606.           if (yychar == YYEMPTY)
  5607.             yychar = YYLEX;
  5608.           semi = yychar == ';';
  5609.           /* finish_struct nukes this anyway; if
  5610.              finish_exception does too, then it can go. */
  5611.           if (semi)
  5612.             note_got_semicolon (yyval.ttype);
  5613.  
  5614.           if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
  5615.             /* $$ = $1 from default rule.  */;
  5616.           else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
  5617.             {
  5618.             }
  5619.           else
  5620.             {
  5621.               yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
  5622.               if (semi) note_got_semicolon (yyval.ttype);
  5623.             }
  5624.  
  5625.           pop_obstacks ();
  5626.  
  5627.           id = TYPE_IDENTIFIER (yyval.ttype);
  5628.           if (id && IDENTIFIER_TEMPLATE (id))
  5629.             {
  5630.               tree decl;
  5631.  
  5632.               /* I don't know if the copying of this TYPE_DECL is
  5633.                * really needed.  However, it's such a small per-
  5634.                * formance penalty that the extra safety is a bargain.
  5635.                * - niklas@appli.se
  5636.                */
  5637.               push_obstacks (&permanent_obstack, &permanent_obstack);
  5638.               decl = copy_node (lookup_name (id, 0));
  5639.               if (DECL_LANG_SPECIFIC (decl))
  5640.             copy_lang_decl (decl);
  5641.               pop_obstacks ();
  5642.               undo_template_name_overload (id, 0);
  5643.               pushdecl_top_level (decl);
  5644.             }
  5645.           if (! semi)
  5646.             check_for_missing_semicolon (yyval.ttype); ;
  5647.     break;}
  5648. case 379:
  5649. #line 2132 "parse.y"
  5650. {
  5651. #if 0
  5652.   /* It's no longer clear what the following error is supposed to
  5653.      accomplish.  If it turns out to be needed, add a comment why.  */
  5654.           if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
  5655.             {
  5656.               error ("incomplete definition of type `%s'",
  5657.                  TYPE_NAME_STRING (yyval.ttype));
  5658.               yyval.ttype = error_mark_node;
  5659.             }
  5660. #endif
  5661.         ;
  5662.     break;}
  5663. case 383:
  5664. #line 2154 "parse.y"
  5665. { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
  5666.     break;}
  5667. case 385:
  5668. #line 2159 "parse.y"
  5669. { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5670.     break;}
  5671. case 386:
  5672. #line 2161 "parse.y"
  5673. { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5674.     break;}
  5675. case 387:
  5676. #line 2163 "parse.y"
  5677. { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5678.     break;}
  5679. case 388:
  5680. #line 2165 "parse.y"
  5681. { error ("no body nor ';' separates two class, struct or union declarations"); ;
  5682.     break;}
  5683. case 389:
  5684. #line 2170 "parse.y"
  5685.           yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype; 
  5686.           if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
  5687.             instantiate_class_template (yyval.ttype, 2);
  5688.         ;
  5689.     break;}
  5690. case 390:
  5691. #line 2179 "parse.y"
  5692. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5693.     break;}
  5694. case 391:
  5695. #line 2181 "parse.y"
  5696. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5697.     break;}
  5698. case 392:
  5699. #line 2183 "parse.y"
  5700. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5701.     break;}
  5702. case 393:
  5703. #line 2185 "parse.y"
  5704. { yyungetc ('{', 1);
  5705.         aggr2:
  5706.           current_aggr = yyval.ttype;
  5707.           yyval.ttype = yyvsp[-1].ttype;
  5708.           overload_template_name (yyval.ttype, 0); ;
  5709.     break;}
  5710. case 394:
  5711. #line 2191 "parse.y"
  5712. { yyungetc (':', 1); goto aggr2; ;
  5713.     break;}
  5714. case 396:
  5715. #line 2197 "parse.y"
  5716. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5717.     break;}
  5718. case 397:
  5719. #line 2201 "parse.y"
  5720. { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
  5721.     break;}
  5722. case 398:
  5723. #line 2204 "parse.y"
  5724. { yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE); ;
  5725.     break;}
  5726. case 399:
  5727. #line 2209 "parse.y"
  5728. {
  5729.           if (yyvsp[0].ttype)
  5730.             yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype, 1);
  5731.           else
  5732.             yyval.ttype = yyvsp[-1].ttype;
  5733.         ;
  5734.     break;}
  5735. case 400:
  5736. #line 2218 "parse.y"
  5737. {
  5738.           if (yyvsp[0].ttype)
  5739.             yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
  5740.           else
  5741.             yyval.ttype = yyvsp[-1].ttype;
  5742.         ;
  5743.     break;}
  5744. case 401:
  5745. #line 2227 "parse.y"
  5746. { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
  5747.           yyungetc ('{', 1); ;
  5748.     break;}
  5749. case 404:
  5750. #line 2235 "parse.y"
  5751. { yyval.ttype = NULL_TREE; ;
  5752.     break;}
  5753. case 405:
  5754. #line 2237 "parse.y"
  5755. { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
  5756.     break;}
  5757. case 406:
  5758. #line 2239 "parse.y"
  5759. { yyval.ttype = yyvsp[0].ttype; ;
  5760.     break;}
  5761. case 408:
  5762. #line 2245 "parse.y"
  5763. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  5764.     break;}
  5765. case 409:
  5766. #line 2250 "parse.y"
  5767. {
  5768.           tree type;
  5769.          do_base_class1:
  5770.           type = IDENTIFIER_TYPE_VALUE (yyval.ttype);
  5771.           if (! is_aggr_typedef (yyval.ttype, 1))
  5772.             yyval.ttype = NULL_TREE;
  5773.           else if (current_aggr == signature_type_node
  5774.                && (! type) && (! IS_SIGNATURE (type)))
  5775.             {
  5776.               error ("class name not allowed as base signature");
  5777.               yyval.ttype = NULL_TREE;
  5778.             }
  5779.           else if (current_aggr == signature_type_node)
  5780.             {
  5781.               sorry ("signature inheritance, base type `%s' ignored",
  5782.                  IDENTIFIER_POINTER (yyval.ttype));
  5783.               yyval.ttype = build_tree_list ((tree)access_public, yyval.ttype);
  5784.             }
  5785.           else if (type && IS_SIGNATURE (type))
  5786.             {
  5787.               error ("signature name not allowed as base class");
  5788.               yyval.ttype = NULL_TREE;
  5789.             }
  5790.           else
  5791.             yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
  5792.         ;
  5793.     break;}
  5794. case 410:
  5795. #line 2277 "parse.y"
  5796. {
  5797.           tree type;
  5798.          do_base_class2:
  5799.           type = IDENTIFIER_TYPE_VALUE (yyvsp[0].ttype);
  5800.           if (current_aggr == signature_type_node)
  5801.             error ("access and source specifiers not allowed in signature");
  5802.           if (! is_aggr_typedef (yyvsp[0].ttype, 1))
  5803.             yyval.ttype = NULL_TREE;
  5804.           else if (current_aggr == signature_type_node
  5805.                && (! type) && (! IS_SIGNATURE (type)))
  5806.             {
  5807.               error ("class name not allowed as base signature");
  5808.               yyval.ttype = NULL_TREE;
  5809.             }
  5810.           else if (current_aggr == signature_type_node)
  5811.             {
  5812.               sorry ("signature inheritance, base type `%s' ignored",
  5813.                  IDENTIFIER_POINTER (yyval.ttype));
  5814.               yyval.ttype = build_tree_list ((tree)access_public, yyvsp[0].ttype);
  5815.             }
  5816.           else if (type && IS_SIGNATURE (type))
  5817.             {
  5818.               error ("signature name not allowed as base class");
  5819.               yyval.ttype = NULL_TREE;
  5820.             }
  5821.           else
  5822.             yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
  5823.         ;
  5824.     break;}
  5825. case 412:
  5826. #line 2310 "parse.y"
  5827. {
  5828.           if (current_aggr == signature_type_node)
  5829.             {
  5830.               if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
  5831.             {
  5832.               sorry ("`sigof' as base signature specifier");
  5833.               /* need to return some dummy signature identifier */
  5834.               yyval.ttype = yyvsp[-1].ttype;
  5835.             }
  5836.               else
  5837.             {
  5838.               error ("`sigof' applied to non-aggregate expression");
  5839.               yyval.ttype = error_mark_node;
  5840.             }
  5841.             }
  5842.           else
  5843.             {
  5844.               error ("`sigof' in struct or class declaration");
  5845.               yyval.ttype = error_mark_node;
  5846.             }
  5847.         ;
  5848.     break;}
  5849. case 413:
  5850. #line 2332 "parse.y"
  5851. {
  5852.           if (current_aggr == signature_type_node)
  5853.             {
  5854.               if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ttype)))
  5855.             {
  5856.               sorry ("`sigof' as base signature specifier");
  5857.               /* need to return some dummy signature identifier */
  5858.               yyval.ttype = yyvsp[-1].ttype;
  5859.             }
  5860.               else
  5861.             {
  5862.               error ("`sigof' applied to non-aggregate expression");
  5863.               yyval.ttype = error_mark_node;
  5864.             }
  5865.             }
  5866.           else
  5867.             {
  5868.               error ("`sigof' in struct or class declaration");
  5869.               yyval.ttype = error_mark_node;
  5870.             }
  5871.         ;
  5872.     break;}
  5873. case 415:
  5874. #line 2358 "parse.y"
  5875. { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
  5876.             sorry ("non-virtual access");
  5877.           yyval.itype = access_default_virtual; ;
  5878.     break;}
  5879. case 416:
  5880. #line 2362 "parse.y"
  5881. { int err = 0;
  5882.           if (yyvsp[0].itype == access_protected)
  5883.             {
  5884.               warning ("`protected' access not implemented");
  5885.               yyvsp[0].itype = access_public;
  5886.               err++;
  5887.             }
  5888.           else if (yyvsp[0].itype == access_public)
  5889.             {
  5890.               if (yyvsp[-1].itype == access_private)
  5891.             {
  5892.             mixed:
  5893.               error ("base class cannot be public and private");
  5894.             }
  5895.               else if (yyvsp[-1].itype == access_default_virtual)
  5896.             yyval.itype = access_public_virtual;
  5897.             }
  5898.           else /* $2 == access_private */
  5899.             {
  5900.               if (yyvsp[-1].itype == access_public)
  5901.             goto mixed;
  5902.               else if (yyvsp[-1].itype == access_default_virtual)
  5903.             yyval.itype = access_private_virtual;
  5904.             }
  5905.         ;
  5906.     break;}
  5907. case 417:
  5908. #line 2388 "parse.y"
  5909. { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
  5910.             sorry ("non-virtual access");
  5911.           if (yyval.itype == access_public)
  5912.             yyval.itype = access_public_virtual;
  5913.           else if (yyval.itype == access_private)
  5914.             yyval.itype = access_private_virtual; ;
  5915.     break;}
  5916. case 418:
  5917. #line 2397 "parse.y"
  5918. { tree t;
  5919.           push_obstacks_nochange ();
  5920.           end_temporary_allocation ();
  5921.  
  5922.           if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
  5923.             {
  5924.               yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
  5925.               TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
  5926.             }
  5927.           if (TYPE_SIZE (yyvsp[-1].ttype))
  5928.             duplicate_tag_error (yyvsp[-1].ttype);
  5929.                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
  5930.                     {
  5931.                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
  5932.                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
  5933.                       yyvsp[-1].ttype = t;
  5934.                     }
  5935.           pushclass (yyvsp[-1].ttype, 0);
  5936.           TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
  5937. #if 0
  5938.           t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
  5939.           if (t && IDENTIFIER_TEMPLATE (t))
  5940.             overload_template_name (t, 1);
  5941. #endif
  5942.         ;
  5943.     break;}
  5944. case 419:
  5945. #line 2426 "parse.y"
  5946. { yyval.ttype = NULL_TREE; ;
  5947.     break;}
  5948. case 420:
  5949. #line 2428 "parse.y"
  5950. {
  5951.           if (current_aggr == signature_type_node)
  5952.             yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
  5953.           else
  5954.             yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
  5955.         ;
  5956.     break;}
  5957. case 421:
  5958. #line 2435 "parse.y"
  5959. {
  5960.           tree visspec = (tree) yyvsp[-2].itype;
  5961.  
  5962.           if (current_aggr == signature_type_node)
  5963.             {
  5964.               error ("access specifier not allowed in signature");
  5965.               visspec = (tree) access_public;
  5966.             }
  5967.           yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
  5968.         ;
  5969.     break;}
  5970. case 422:
  5971. #line 2446 "parse.y"
  5972. {
  5973.           if (current_aggr == signature_type_node)
  5974.             error ("access specifier not allowed in signature");
  5975.         ;
  5976.     break;}
  5977. case 423:
  5978. #line 2456 "parse.y"
  5979. { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; 
  5980.         ;
  5981.     break;}
  5982. case 424:
  5983. #line 2459 "parse.y"
  5984. { /* In pushdecl, we created a reverse list of names
  5985.              in this binding level.  Make sure that the chain
  5986.              of what we're trying to add isn't the item itself
  5987.              (which can happen with what pushdecl's doing).  */
  5988.           if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
  5989.             {
  5990.               if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
  5991.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  5992.               else
  5993.             yyval.ttype = yyvsp[0].ttype;
  5994.             }
  5995.         ;
  5996.     break;}
  5997. case 427:
  5998. #line 2477 "parse.y"
  5999. { error ("missing ';' before right brace");
  6000.           yyungetc ('}', 0); ;
  6001.     break;}
  6002. case 428:
  6003. #line 2482 "parse.y"
  6004. { yyval.ttype = finish_method (yyval.ttype); ;
  6005.     break;}
  6006. case 429:
  6007. #line 2484 "parse.y"
  6008. { yyval.ttype = finish_method (yyval.ttype); ;
  6009.     break;}
  6010. case 430:
  6011. #line 2492 "parse.y"
  6012. {
  6013.           yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  6014.         ;
  6015.     break;}
  6016. case 431:
  6017. #line 2496 "parse.y"
  6018.           yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
  6019.         ;
  6020.     break;}
  6021. case 432:
  6022. #line 2500 "parse.y"
  6023. { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  6024.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6025.     break;}
  6026. case 433:
  6027. #line 2503 "parse.y"
  6028. { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
  6029.     break;}
  6030. case 434:
  6031. #line 2505 "parse.y"
  6032. { yyval.ttype = NULL_TREE; ;
  6033.     break;}
  6034. case 435:
  6035. #line 2516 "parse.y"
  6036. { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-4].ttype),
  6037.                      yyvsp[-2].ttype, yyvsp[0].ttype);
  6038.           yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-4].ttype), NULL_TREE, NULL_TREE,
  6039.                   NULL_TREE); ;
  6040.     break;}
  6041. case 436:
  6042. #line 2521 "parse.y"
  6043. { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-2].ttype),
  6044.                      empty_parms (), yyvsp[0].ttype);
  6045.           yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-2].ttype), NULL_TREE, NULL_TREE,
  6046.                   NULL_TREE); ;
  6047.     break;}
  6048. case 437:
  6049. #line 2530 "parse.y"
  6050. { yyval.ttype = NULL_TREE; ;
  6051.     break;}
  6052. case 439:
  6053. #line 2533 "parse.y"
  6054. {
  6055.           /* In this context, void_type_node encodes
  6056.              friends.  They have been recorded elsewhere.  */
  6057.           if (yyval.ttype == void_type_node)
  6058.             yyval.ttype = yyvsp[0].ttype;
  6059.           else
  6060.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  6061.         ;
  6062.     break;}
  6063. case 440:
  6064. #line 2545 "parse.y"
  6065. { yyval.ttype = NULL_TREE; ;
  6066.     break;}
  6067. case 442:
  6068. #line 2548 "parse.y"
  6069. {
  6070.           /* In this context, void_type_node encodes
  6071.              friends.  They have been recorded elsewhere.  */
  6072.           if (yyval.ttype == void_type_node)
  6073.             yyval.ttype = yyvsp[0].ttype;
  6074.           else
  6075.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  6076.         ;
  6077.     break;}
  6078. case 447:
  6079. #line 2570 "parse.y"
  6080. { current_declspecs = yyvsp[-4].ttype;
  6081.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  6082.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6083.     break;}
  6084. case 448:
  6085. #line 2574 "parse.y"
  6086. { current_declspecs = yyvsp[-6].ttype;
  6087.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  6088.           cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  6089.     break;}
  6090. case 449:
  6091. #line 2578 "parse.y"
  6092. { current_declspecs = yyvsp[-4].ttype;
  6093.           yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6094.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6095.     break;}
  6096. case 450:
  6097. #line 2585 "parse.y"
  6098. { current_declspecs = yyvsp[-4].ttype;
  6099.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  6100.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6101.     break;}
  6102. case 451:
  6103. #line 2589 "parse.y"
  6104. { current_declspecs = yyvsp[-6].ttype;
  6105.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  6106.           cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  6107.     break;}
  6108. case 452:
  6109. #line 2593 "parse.y"
  6110. { current_declspecs = yyvsp[-4].ttype;
  6111.           yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6112.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6113.     break;}
  6114. case 453:
  6115. #line 2597 "parse.y"
  6116. { current_declspecs = yyvsp[-3].ttype;
  6117.           yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  6118.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6119.     break;}
  6120. case 454:
  6121. #line 2604 "parse.y"
  6122. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  6123.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6124.     break;}
  6125. case 455:
  6126. #line 2607 "parse.y"
  6127. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  6128.           cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  6129.     break;}
  6130. case 456:
  6131. #line 2610 "parse.y"
  6132. { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6133.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6134.     break;}
  6135. case 457:
  6136. #line 2616 "parse.y"
  6137. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
  6138.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6139.     break;}
  6140. case 458:
  6141. #line 2619 "parse.y"
  6142. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
  6143.           cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
  6144.     break;}
  6145. case 459:
  6146. #line 2622 "parse.y"
  6147. { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6148.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6149.     break;}
  6150. case 460:
  6151. #line 2625 "parse.y"
  6152. { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  6153.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
  6154.     break;}
  6155. case 462:
  6156. #line 2636 "parse.y"
  6157. { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  6158.     break;}
  6159. case 463:
  6160. #line 2641 "parse.y"
  6161. { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
  6162.     break;}
  6163. case 464:
  6164. #line 2643 "parse.y"
  6165. { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
  6166.     break;}
  6167. case 465:
  6168. #line 2649 "parse.y"
  6169. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  6170.     break;}
  6171. case 466:
  6172. #line 2651 "parse.y"
  6173. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  6174.     break;}
  6175. case 467:
  6176. #line 2655 "parse.y"
  6177. {
  6178.           if (flag_ansi)
  6179.             pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
  6180.           yyval.ttype = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ttype), yyvsp[-1].ttype);
  6181.           yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
  6182.         ;
  6183.     break;}
  6184. case 468:
  6185. #line 2665 "parse.y"
  6186. { yyval.ttype = NULL_TREE; ;
  6187.     break;}
  6188. case 469:
  6189. #line 2667 "parse.y"
  6190. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  6191.     break;}
  6192. case 470:
  6193. #line 2672 "parse.y"
  6194. { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  6195.     break;}
  6196. case 471:
  6197. #line 2674 "parse.y"
  6198. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  6199.     break;}
  6200. case 472:
  6201. #line 2682 "parse.y"
  6202. { yyval.itype = suspend_momentary (); ;
  6203.     break;}
  6204. case 473:
  6205. #line 2683 "parse.y"
  6206. { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
  6207.     break;}
  6208. case 474:
  6209. #line 2690 "parse.y"
  6210. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6211.     break;}
  6212. case 475:
  6213. #line 2692 "parse.y"
  6214. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6215.     break;}
  6216. case 476:
  6217. #line 2694 "parse.y"
  6218. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6219.     break;}
  6220. case 477:
  6221. #line 2696 "parse.y"
  6222. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6223.     break;}
  6224. case 478:
  6225. #line 2698 "parse.y"
  6226. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6227.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6228.         ;
  6229.     break;}
  6230. case 480:
  6231. #line 2706 "parse.y"
  6232. {
  6233.           /* Remember that this name has been used in the class
  6234.              definition, as per [class.scope0] */
  6235.           if (current_class_type
  6236.               && TYPE_BEING_DEFINED (current_class_type)
  6237.               && ! IDENTIFIER_CLASS_VALUE (yyval.ttype))
  6238.             {
  6239.               tree t = lookup_name (yyval.ttype, -2);
  6240.               if (t)
  6241.             pushdecl_class_level (t);
  6242.             }
  6243.         ;
  6244.     break;}
  6245. case 482:
  6246. #line 2723 "parse.y"
  6247. { yyval.ttype = yyvsp[0].ttype; ;
  6248.     break;}
  6249. case 483:
  6250. #line 2728 "parse.y"
  6251. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6252.     break;}
  6253. case 484:
  6254. #line 2730 "parse.y"
  6255. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6256.     break;}
  6257. case 485:
  6258. #line 2732 "parse.y"
  6259. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  6260.     break;}
  6261. case 486:
  6262. #line 2734 "parse.y"
  6263. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  6264.     break;}
  6265. case 487:
  6266. #line 2736 "parse.y"
  6267. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6268.     break;}
  6269. case 488:
  6270. #line 2738 "parse.y"
  6271. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6272.     break;}
  6273. case 489:
  6274. #line 2740 "parse.y"
  6275. { yyval.ttype = yyvsp[-1].ttype; ;
  6276.     break;}
  6277. case 490:
  6278. #line 2742 "parse.y"
  6279. { push_nested_class (TREE_TYPE (yyval.ttype), 3);
  6280.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
  6281.           TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  6282.     break;}
  6283. case 492:
  6284. #line 2753 "parse.y"
  6285. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6286.     break;}
  6287. case 493:
  6288. #line 2755 "parse.y"
  6289. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6290.     break;}
  6291. case 494:
  6292. #line 2757 "parse.y"
  6293. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6294.     break;}
  6295. case 495:
  6296. #line 2759 "parse.y"
  6297. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6298.     break;}
  6299. case 496:
  6300. #line 2761 "parse.y"
  6301. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6302.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6303.         ;
  6304.     break;}
  6305. case 498:
  6306. #line 2769 "parse.y"
  6307. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6308.     break;}
  6309. case 499:
  6310. #line 2771 "parse.y"
  6311. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6312.     break;}
  6313. case 500:
  6314. #line 2773 "parse.y"
  6315. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6316.     break;}
  6317. case 501:
  6318. #line 2775 "parse.y"
  6319. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6320.     break;}
  6321. case 502:
  6322. #line 2777 "parse.y"
  6323. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6324.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6325.         ;
  6326.     break;}
  6327. case 504:
  6328. #line 2785 "parse.y"
  6329. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6330.     break;}
  6331. case 505:
  6332. #line 2787 "parse.y"
  6333. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6334.     break;}
  6335. case 506:
  6336. #line 2789 "parse.y"
  6337. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  6338.     break;}
  6339. case 507:
  6340. #line 2791 "parse.y"
  6341. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
  6342.     break;}
  6343. case 508:
  6344. #line 2793 "parse.y"
  6345. { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
  6346.     break;}
  6347. case 509:
  6348. #line 2795 "parse.y"
  6349. { yyval.ttype = yyvsp[-1].ttype; ;
  6350.     break;}
  6351. case 510:
  6352. #line 2797 "parse.y"
  6353. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6354.     break;}
  6355. case 511:
  6356. #line 2799 "parse.y"
  6357. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6358.     break;}
  6359. case 512:
  6360. #line 2804 "parse.y"
  6361. { got_scope = NULL_TREE;
  6362.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  6363.     break;}
  6364. case 513:
  6365. #line 2810 "parse.y"
  6366. { got_scope = NULL_TREE;
  6367.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  6368.     break;}
  6369. case 515:
  6370. #line 2817 "parse.y"
  6371. { yyval.ttype = yyvsp[0].ttype; ;
  6372.     break;}
  6373. case 516:
  6374. #line 2822 "parse.y"
  6375. { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
  6376.     break;}
  6377. case 517:
  6378. #line 2824 "parse.y"
  6379. { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
  6380.     break;}
  6381. case 518:
  6382. #line 2826 "parse.y"
  6383. { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
  6384.     break;}
  6385. case 522:
  6386. #line 2837 "parse.y"
  6387. { yyval.ttype = yyvsp[0].ttype; ;
  6388.     break;}
  6389. case 523:
  6390. #line 2844 "parse.y"
  6391. { got_scope = TREE_TYPE (yyval.ttype); ;
  6392.     break;}
  6393. case 524:
  6394. #line 2846 "parse.y"
  6395. { got_scope = TREE_TYPE (yyval.ttype); ;
  6396.     break;}
  6397. case 526:
  6398. #line 2862 "parse.y"
  6399. { yyval.ttype = yyvsp[0].ttype; ;
  6400.     break;}
  6401. case 528:
  6402. #line 2868 "parse.y"
  6403. { yyval.ttype = yyvsp[0].ttype; ;
  6404.     break;}
  6405. case 529:
  6406. #line 2873 "parse.y"
  6407. { got_scope = NULL_TREE; ;
  6408.     break;}
  6409. case 530:
  6410. #line 2875 "parse.y"
  6411. { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
  6412.     break;}
  6413. case 531:
  6414. #line 2882 "parse.y"
  6415. { got_scope = void_type_node; ;
  6416.     break;}
  6417. case 532:
  6418. #line 2888 "parse.y"
  6419. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6420.     break;}
  6421. case 533:
  6422. #line 2890 "parse.y"
  6423. { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6424.     break;}
  6425. case 534:
  6426. #line 2892 "parse.y"
  6427. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6428.     break;}
  6429. case 535:
  6430. #line 2894 "parse.y"
  6431. { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6432.     break;}
  6433. case 536:
  6434. #line 2896 "parse.y"
  6435. { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  6436.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  6437.         ;
  6438.     break;}
  6439. case 537:
  6440. #line 2900 "parse.y"
  6441. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6442.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6443.         ;
  6444.     break;}
  6445. case 539:
  6446. #line 2909 "parse.y"
  6447. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  6448.     break;}
  6449. case 540:
  6450. #line 2911 "parse.y"
  6451. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6452.     break;}
  6453. case 541:
  6454. #line 2917 "parse.y"
  6455. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6456.     break;}
  6457. case 542:
  6458. #line 2919 "parse.y"
  6459. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6460.     break;}
  6461. case 543:
  6462. #line 2921 "parse.y"
  6463. { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6464.     break;}
  6465. case 544:
  6466. #line 2923 "parse.y"
  6467. { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
  6468.     break;}
  6469. case 545:
  6470. #line 2925 "parse.y"
  6471. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6472.     break;}
  6473. case 546:
  6474. #line 2927 "parse.y"
  6475. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6476.     break;}
  6477. case 547:
  6478. #line 2929 "parse.y"
  6479. { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6480.     break;}
  6481. case 548:
  6482. #line 2931 "parse.y"
  6483. { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
  6484.     break;}
  6485. case 549:
  6486. #line 2933 "parse.y"
  6487. { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  6488.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  6489.         ;
  6490.     break;}
  6491. case 550:
  6492. #line 2937 "parse.y"
  6493. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6494.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6495.         ;
  6496.     break;}
  6497. case 552:
  6498. #line 2946 "parse.y"
  6499. { yyval.ttype = yyvsp[-1].ttype; ;
  6500.     break;}
  6501. case 554:
  6502. #line 2950 "parse.y"
  6503. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6504.     break;}
  6505. case 555:
  6506. #line 2952 "parse.y"
  6507. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  6508.     break;}
  6509. case 556:
  6510. #line 2954 "parse.y"
  6511. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6512.     break;}
  6513. case 557:
  6514. #line 2956 "parse.y"
  6515. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6516.     break;}
  6517. case 558:
  6518. #line 2958 "parse.y"
  6519. { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6520.     break;}
  6521. case 559:
  6522. #line 2960 "parse.y"
  6523. { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  6524.     break;}
  6525. case 560:
  6526. #line 2962 "parse.y"
  6527. { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  6528.     break;}
  6529. case 561:
  6530. #line 2964 "parse.y"
  6531. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  6532.     break;}
  6533. case 562:
  6534. #line 2966 "parse.y"
  6535. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
  6536.     break;}
  6537. case 568:
  6538. #line 2988 "parse.y"
  6539. { emit_line_note (input_filename, lineno);
  6540.           pushlevel (0);
  6541.           clear_last_expr ();
  6542.           push_momentary ();
  6543.           expand_start_bindings (0); ;
  6544.     break;}
  6545. case 570:
  6546. #line 3000 "parse.y"
  6547. { if (flag_ansi)
  6548.             pedwarn ("ANSI C++ forbids label declarations"); ;
  6549.     break;}
  6550. case 573:
  6551. #line 3011 "parse.y"
  6552. { tree link;
  6553.           for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
  6554.             {
  6555.               tree label = shadow_label (TREE_VALUE (link));
  6556.               C_DECLARED_LABEL_FLAG (label) = 1;
  6557.               declare_nonlocal_label (label);
  6558.             }
  6559.         ;
  6560.     break;}
  6561. case 574:
  6562. #line 3025 "parse.y"
  6563. {;
  6564.     break;}
  6565. case 576:
  6566. #line 3030 "parse.y"
  6567. { expand_end_bindings (getdecls (), kept_level_p(), 1);
  6568.           yyval.ttype = poplevel (kept_level_p (), 1, 0);
  6569.           pop_momentary (); ;
  6570.     break;}
  6571. case 577:
  6572. #line 3034 "parse.y"
  6573. { expand_end_bindings (getdecls (), kept_level_p(), 1);
  6574.           yyval.ttype = poplevel (kept_level_p (), 1, 0);
  6575.           pop_momentary (); ;
  6576.     break;}
  6577. case 578:
  6578. #line 3038 "parse.y"
  6579. { expand_end_bindings (getdecls (), kept_level_p(), 1);
  6580.           yyval.ttype = poplevel (kept_level_p (), 0, 0);
  6581.           pop_momentary (); ;
  6582.     break;}
  6583. case 579:
  6584. #line 3042 "parse.y"
  6585. { expand_end_bindings (getdecls (), kept_level_p(), 1);
  6586.           yyval.ttype = poplevel (kept_level_p (), 0, 0);
  6587.           pop_momentary (); ;
  6588.     break;}
  6589. case 580:
  6590. #line 3049 "parse.y"
  6591. { cond_stmt_keyword = "if"; ;
  6592.     break;}
  6593. case 581:
  6594. #line 3051 "parse.y"
  6595. { emit_line_note (input_filename, lineno);
  6596.           expand_start_cond (bool_truthvalue_conversion (yyvsp[0].ttype), 0); ;
  6597.     break;}
  6598. case 583:
  6599. #line 3058 "parse.y"
  6600. { finish_stmt (); ;
  6601.     break;}
  6602. case 584:
  6603. #line 3060 "parse.y"
  6604. { expand_end_bindings (getdecls (), kept_level_p (), 1);
  6605.           yyval.ttype = poplevel (kept_level_p (), 1, 0);
  6606.           pop_momentary (); ;
  6607.     break;}
  6608. case 585:
  6609. #line 3067 "parse.y"
  6610. { finish_stmt (); ;
  6611.     break;}
  6612. case 587:
  6613. #line 3073 "parse.y"
  6614. { finish_stmt (); ;
  6615.     break;}
  6616. case 588:
  6617. #line 3075 "parse.y"
  6618. {
  6619.           tree expr = yyvsp[-1].ttype;
  6620.           emit_line_note (input_filename, lineno);
  6621.           /* Do default conversion if safe and possibly important,
  6622.              in case within ({...}).  */
  6623.           if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
  6624.                && lvalue_p (expr))
  6625.               || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
  6626.             expr = default_conversion (expr);
  6627.           cplus_expand_expr_stmt (expr);
  6628.           clear_momentary ();
  6629.           finish_stmt (); ;
  6630.     break;}
  6631. case 589:
  6632. #line 3088 "parse.y"
  6633. { expand_start_else (); ;
  6634.     break;}
  6635. case 590:
  6636. #line 3090 "parse.y"
  6637. { expand_end_cond ();
  6638.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6639.           poplevel (kept_level_p (), 1, 0);
  6640.           pop_momentary ();
  6641.           finish_stmt (); ;
  6642.     break;}
  6643. case 591:
  6644. #line 3096 "parse.y"
  6645. { expand_end_cond ();
  6646.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6647.           poplevel (kept_level_p (), 1, 0);
  6648.           pop_momentary ();
  6649.           finish_stmt (); ;
  6650.     break;}
  6651. case 592:
  6652. #line 3102 "parse.y"
  6653. { emit_nop ();
  6654.           emit_line_note (input_filename, lineno);
  6655.           expand_start_loop (1);
  6656.           cond_stmt_keyword = "while"; ;
  6657.     break;}
  6658. case 593:
  6659. #line 3107 "parse.y"
  6660. { expand_exit_loop_if_false (0, bool_truthvalue_conversion (yyvsp[0].ttype)); ;
  6661.     break;}
  6662. case 594:
  6663. #line 3109 "parse.y"
  6664. { expand_end_bindings (getdecls (), kept_level_p (), 1);
  6665.           poplevel (kept_level_p (), 1, 0);
  6666.           pop_momentary ();
  6667.           expand_end_loop ();
  6668.           finish_stmt (); ;
  6669.     break;}
  6670. case 595:
  6671. #line 3115 "parse.y"
  6672. { emit_nop ();
  6673.           emit_line_note (input_filename, lineno);
  6674.           expand_start_loop_continue_elsewhere (1); ;
  6675.     break;}
  6676. case 596:
  6677. #line 3119 "parse.y"
  6678. { expand_loop_continue_here ();
  6679.           cond_stmt_keyword = "do"; ;
  6680.     break;}
  6681. case 597:
  6682. #line 3122 "parse.y"
  6683. { emit_line_note (input_filename, lineno);
  6684.           expand_exit_loop_if_false (0, bool_truthvalue_conversion (yyvsp[-1].ttype));
  6685.           expand_end_loop ();
  6686.           clear_momentary ();
  6687.           finish_stmt (); ;
  6688.     break;}
  6689. case 598:
  6690. #line 3128 "parse.y"
  6691. { emit_nop ();
  6692.           emit_line_note (input_filename, lineno);
  6693.           if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
  6694.           expand_start_loop_continue_elsewhere (1); ;
  6695.     break;}
  6696. case 599:
  6697. #line 3133 "parse.y"
  6698. { emit_line_note (input_filename, lineno);
  6699.           if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
  6700.     break;}
  6701. case 600:
  6702. #line 3138 "parse.y"
  6703. { push_momentary (); ;
  6704.     break;}
  6705. case 601:
  6706. #line 3140 "parse.y"
  6707. { emit_line_note (input_filename, lineno);
  6708.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6709.           poplevel (kept_level_p (), 1, 0);
  6710.           pop_momentary ();
  6711.           expand_loop_continue_here ();
  6712.           if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
  6713.           pop_momentary ();
  6714.           expand_end_loop ();
  6715.           finish_stmt (); ;
  6716.     break;}
  6717. case 602:
  6718. #line 3150 "parse.y"
  6719. { emit_nop ();
  6720.           emit_line_note (input_filename, lineno);
  6721.           expand_start_loop_continue_elsewhere (1); ;
  6722.     break;}
  6723. case 603:
  6724. #line 3154 "parse.y"
  6725. { emit_line_note (input_filename, lineno);
  6726.           if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
  6727.     break;}
  6728. case 604:
  6729. #line 3159 "parse.y"
  6730. { push_momentary ();
  6731.           yyvsp[0].itype = lineno; ;
  6732.     break;}
  6733. case 605:
  6734. #line 3162 "parse.y"
  6735. { emit_line_note (input_filename, (int) yyvsp[-2].itype);
  6736.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6737.           poplevel (kept_level_p (), 1, 0);
  6738.           pop_momentary ();
  6739.           expand_loop_continue_here ();
  6740.           if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
  6741.           pop_momentary ();
  6742.           expand_end_loop ();
  6743.           finish_stmt ();
  6744.         ;
  6745.     break;}
  6746. case 606:
  6747. #line 3173 "parse.y"
  6748. { emit_line_note (input_filename, lineno);
  6749.           c_expand_start_case (yyvsp[-1].ttype); 
  6750.           /* Don't let the tree nodes for $4 be discarded by
  6751.              clear_momentary during the parsing of the next stmt.  */
  6752.           push_momentary (); ;
  6753.     break;}
  6754. case 607:
  6755. #line 3179 "parse.y"
  6756. { expand_end_case (yyvsp[-3].ttype);
  6757.           pop_momentary ();
  6758.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6759.           poplevel (kept_level_p (), 1, 0);
  6760.           pop_momentary ();
  6761.           finish_stmt (); ;
  6762.     break;}
  6763. case 608:
  6764. #line 3186 "parse.y"
  6765. { register tree value = check_cp_case_value (yyvsp[-1].ttype);
  6766.           register tree label
  6767.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6768.  
  6769.           if (value != error_mark_node)
  6770.             {
  6771.               tree duplicate;
  6772.               int success = pushcase (value, convert_and_check,
  6773.                           label, &duplicate);
  6774.               if (success == 1)
  6775.             cp_error ("case label `%E' not within a switch statement", yyvsp[-1].ttype);
  6776.               else if (success == 2)
  6777.             {
  6778.               cp_error ("duplicate case value `%E'", yyvsp[-1].ttype);
  6779.               cp_error_at ("`%E' previously used here", duplicate);
  6780.             }
  6781.               else if (success == 3)
  6782.             warning ("case value out of range");
  6783.               else if (success == 5)
  6784.             cp_error ("case label `%E' within scope of cleanup or variable array", yyvsp[-1].ttype);
  6785.             }
  6786.           define_case_label (label);
  6787.         ;
  6788.     break;}
  6789. case 610:
  6790. #line 3211 "parse.y"
  6791. { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
  6792.           register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
  6793.           register tree label
  6794.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6795.  
  6796.           if (flag_ansi)
  6797.             pedwarn ("ANSI C++ forbids range expressions in switch statement");
  6798.           if (value1 != error_mark_node
  6799.               && value2 != error_mark_node)
  6800.             {
  6801.               tree duplicate;
  6802.               int success = pushcase_range (value1, value2,
  6803.                             convert_and_check, label,
  6804.                             &duplicate);
  6805.               if (success == 1)
  6806.             error ("case label not within a switch statement");
  6807.               else if (success == 2)
  6808.             {
  6809.               error ("duplicate (or overlapping) case value");
  6810.               error_with_decl (duplicate, "this is the first entry overlapping that value");
  6811.             }
  6812.               else if (success == 3)
  6813.             warning ("case value out of range");
  6814.               else if (success == 4)
  6815.             warning ("empty range specified");
  6816.               else if (success == 5)
  6817.             error ("case label within scope of cleanup or variable array");
  6818.             }
  6819.           define_case_label (label);
  6820.         ;
  6821.     break;}
  6822. case 612:
  6823. #line 3243 "parse.y"
  6824. {
  6825.           tree duplicate;
  6826.           register tree label
  6827.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6828.           int success = pushcase (NULL_TREE, 0, label, &duplicate);
  6829.           if (success == 1)
  6830.             error ("default label not within a switch statement");
  6831.           else if (success == 2)
  6832.             {
  6833.               error ("multiple default labels in one switch");
  6834.               error_with_decl (duplicate, "this is the first default label");
  6835.             }
  6836.           define_case_label (NULL_TREE);
  6837.         ;
  6838.     break;}
  6839. case 614:
  6840. #line 3259 "parse.y"
  6841. { emit_line_note (input_filename, lineno);
  6842.           if ( ! expand_exit_something ())
  6843.             error ("break statement not within loop or switch"); ;
  6844.     break;}
  6845. case 615:
  6846. #line 3263 "parse.y"
  6847. { emit_line_note (input_filename, lineno);
  6848.           if (! expand_continue_loop (0))
  6849.             error ("continue statement not within a loop"); ;
  6850.     break;}
  6851. case 616:
  6852. #line 3267 "parse.y"
  6853. { emit_line_note (input_filename, lineno);
  6854.           c_expand_return (NULL_TREE); ;
  6855.     break;}
  6856. case 617:
  6857. #line 3270 "parse.y"
  6858. { emit_line_note (input_filename, lineno);
  6859.           c_expand_return (yyvsp[-1].ttype);
  6860.           finish_stmt ();
  6861.         ;
  6862.     break;}
  6863. case 618:
  6864. #line 3275 "parse.y"
  6865. { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  6866.           emit_line_note (input_filename, lineno);
  6867.           expand_asm (yyvsp[-2].ttype);
  6868.           finish_stmt ();
  6869.         ;
  6870.     break;}
  6871. case 619:
  6872. #line 3282 "parse.y"
  6873. { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
  6874.           emit_line_note (input_filename, lineno);
  6875.           c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
  6876.                      yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
  6877.                      input_filename, lineno);
  6878.           finish_stmt ();
  6879.         ;
  6880.     break;}
  6881. case 620:
  6882. #line 3291 "parse.y"
  6883. { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
  6884.           emit_line_note (input_filename, lineno);
  6885.           c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
  6886.                      yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
  6887.                      input_filename, lineno);
  6888.           finish_stmt ();
  6889.         ;
  6890.     break;}
  6891. case 621:
  6892. #line 3301 "parse.y"
  6893. { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
  6894.           emit_line_note (input_filename, lineno);
  6895.           c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
  6896.                      yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
  6897.                      input_filename, lineno);
  6898.           finish_stmt ();
  6899.         ;
  6900.     break;}
  6901. case 622:
  6902. #line 3309 "parse.y"
  6903. { emit_line_note (input_filename, lineno);
  6904.           expand_computed_goto (yyvsp[-1].ttype); ;
  6905.     break;}
  6906. case 623:
  6907. #line 3312 "parse.y"
  6908. { tree decl;
  6909.           emit_line_note (input_filename, lineno);
  6910.           decl = lookup_label (yyvsp[-1].ttype);
  6911.           TREE_USED (decl) = 1;
  6912.           expand_goto (decl); ;
  6913.     break;}
  6914. case 624:
  6915. #line 3318 "parse.y"
  6916. { finish_stmt (); ;
  6917.     break;}
  6918. case 625:
  6919. #line 3320 "parse.y"
  6920. { error ("label must be followed by statement");
  6921.           yyungetc ('}', 0);
  6922.           finish_stmt (); ;
  6923.     break;}
  6924. case 626:
  6925. #line 3324 "parse.y"
  6926. { finish_stmt (); ;
  6927.     break;}
  6928. case 628:
  6929. #line 3330 "parse.y"
  6930. { expand_start_try_stmts (); ;
  6931.     break;}
  6932. case 629:
  6933. #line 3332 "parse.y"
  6934. { expand_end_try_stmts ();
  6935.           expand_start_all_catch (); ;
  6936.     break;}
  6937. case 630:
  6938. #line 3335 "parse.y"
  6939. { expand_end_all_catch (); ;
  6940.     break;}
  6941. case 631:
  6942. #line 3343 "parse.y"
  6943. { expand_end_bindings (0,1,1);
  6944.           poplevel (2,0,0);
  6945.         ;
  6946.     break;}
  6947. case 632:
  6948. #line 3347 "parse.y"
  6949. { expand_end_bindings (0,1,1);
  6950.           poplevel (2,0,0);
  6951.         ;
  6952.     break;}
  6953. case 633:
  6954. #line 3351 "parse.y"
  6955. { expand_end_bindings (0,1,1);
  6956.           poplevel (2,0,0);
  6957.         ;
  6958.     break;}
  6959. case 635:
  6960. #line 3359 "parse.y"
  6961. { emit_line_note (input_filename, lineno); ;
  6962.     break;}
  6963. case 636:
  6964. #line 3361 "parse.y"
  6965. { expand_end_catch_block (); ;
  6966.     break;}
  6967. case 639:
  6968. #line 3371 "parse.y"
  6969. { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
  6970.     break;}
  6971. case 640:
  6972. #line 3383 "parse.y"
  6973. { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
  6974.                         TREE_VALUE (yyvsp[-1].ttype)); ;
  6975.     break;}
  6976. case 641:
  6977. #line 3389 "parse.y"
  6978. { tree label;
  6979.         do_label:
  6980.           label = define_label (input_filename, lineno, yyvsp[-1].ttype);
  6981.           if (label)
  6982.             expand_label (label);
  6983.         ;
  6984.     break;}
  6985. case 642:
  6986. #line 3396 "parse.y"
  6987. { goto do_label; ;
  6988.     break;}
  6989. case 643:
  6990. #line 3401 "parse.y"
  6991. { yyval.ttype = NULL_TREE; ;
  6992.     break;}
  6993. case 644:
  6994. #line 3403 "parse.y"
  6995. { yyval.ttype = yyvsp[-1].ttype; ;
  6996.     break;}
  6997. case 645:
  6998. #line 3405 "parse.y"
  6999. { yyval.ttype = NULL_TREE; ;
  7000.     break;}
  7001. case 646:
  7002. #line 3410 "parse.y"
  7003. { yyval.itype = 0; ;
  7004.     break;}
  7005. case 647:
  7006. #line 3412 "parse.y"
  7007. { yyval.itype = 0; ;
  7008.     break;}
  7009. case 648:
  7010. #line 3414 "parse.y"
  7011. { yyval.itype = 1; ;
  7012.     break;}
  7013. case 649:
  7014. #line 3416 "parse.y"
  7015. { yyval.itype = -1; ;
  7016.     break;}
  7017. case 650:
  7018. #line 3423 "parse.y"
  7019. { emit_line_note (input_filename, lineno);
  7020.           yyval.ttype = NULL_TREE; ;
  7021.     break;}
  7022. case 651:
  7023. #line 3426 "parse.y"
  7024. { emit_line_note (input_filename, lineno); ;
  7025.     break;}
  7026. case 652:
  7027. #line 3431 "parse.y"
  7028. { yyval.ttype = NULL_TREE; ;
  7029.     break;}
  7030. case 654:
  7031. #line 3434 "parse.y"
  7032. { yyval.ttype = NULL_TREE; ;
  7033.     break;}
  7034. case 655:
  7035. #line 3440 "parse.y"
  7036. { yyval.ttype = NULL_TREE; ;
  7037.     break;}
  7038. case 658:
  7039. #line 3447 "parse.y"
  7040. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  7041.     break;}
  7042. case 659:
  7043. #line 3452 "parse.y"
  7044. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
  7045.     break;}
  7046. case 660:
  7047. #line 3457 "parse.y"
  7048. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
  7049.     break;}
  7050. case 661:
  7051. #line 3459 "parse.y"
  7052. { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  7053.     break;}
  7054. case 662:
  7055. #line 3469 "parse.y"
  7056. {
  7057.           if (strict_prototype)
  7058.             yyval.ttype = void_list_node;
  7059.           else
  7060.             yyval.ttype = NULL_TREE;
  7061.         ;
  7062.     break;}
  7063. case 664:
  7064. #line 3477 "parse.y"
  7065. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  7066.           TREE_PARMLIST (yyval.ttype) = 1; ;
  7067.     break;}
  7068. case 665:
  7069. #line 3485 "parse.y"
  7070. {
  7071.           yyval.ttype = chainon (yyval.ttype, void_list_node);
  7072.           TREE_PARMLIST (yyval.ttype) = 1;
  7073.         ;
  7074.     break;}
  7075. case 666:
  7076. #line 3490 "parse.y"
  7077. {
  7078.           TREE_PARMLIST (yyval.ttype) = 1;
  7079.         ;
  7080.     break;}
  7081. case 667:
  7082. #line 3495 "parse.y"
  7083. {
  7084.           TREE_PARMLIST (yyval.ttype) = 1;
  7085.         ;
  7086.     break;}
  7087. case 668:
  7088. #line 3499 "parse.y"
  7089. {
  7090.           yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); 
  7091.           TREE_PARMLIST (yyval.ttype) = 1;
  7092.         ;
  7093.     break;}
  7094. case 669:
  7095. #line 3504 "parse.y"
  7096. {
  7097.           /* ARM $8.2.5 has this as a boxed-off comment.  */
  7098.           if (pedantic)
  7099.             warning ("use of `...' without a first argument is non-portable");
  7100.           yyval.ttype = NULL_TREE;
  7101.         ;
  7102.     break;}
  7103. case 670:
  7104. #line 3511 "parse.y"
  7105. {
  7106.           TREE_PARMLIST (yyval.ttype) = 1;
  7107.         ;
  7108.     break;}
  7109. case 671:
  7110. #line 3515 "parse.y"
  7111. {
  7112.           TREE_PARMLIST (yyval.ttype) = 1;
  7113.         ;
  7114.     break;}
  7115. case 672:
  7116. #line 3519 "parse.y"
  7117. {
  7118.           yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
  7119.           TREE_PARMLIST (yyval.ttype) = 1;
  7120.         ;
  7121.     break;}
  7122. case 673:
  7123. #line 3524 "parse.y"
  7124. {
  7125.           /* This helps us recover from really nasty
  7126.              parse errors, for example, a missing right
  7127.              parenthesis.  */
  7128.           yyerror ("possibly missing ')'");
  7129.           yyval.ttype = chainon (yyval.ttype, void_list_node);
  7130.           TREE_PARMLIST (yyval.ttype) = 1;
  7131.           yyungetc (':', 0);
  7132.           yychar = ')';
  7133.         ;
  7134.     break;}
  7135. case 674:
  7136. #line 3535 "parse.y"
  7137. {
  7138.           /* This helps us recover from really nasty
  7139.              parse errors, for example, a missing right
  7140.              parenthesis.  */
  7141.           yyerror ("possibly missing ')'");
  7142.           yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  7143.           TREE_PARMLIST (yyval.ttype) = 1;
  7144.           yyungetc (':', 0);
  7145.           yychar = ')';
  7146.         ;
  7147.     break;}
  7148. case 675:
  7149. #line 3550 "parse.y"
  7150. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  7151.     break;}
  7152. case 676:
  7153. #line 3552 "parse.y"
  7154. { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  7155.     break;}
  7156. case 677:
  7157. #line 3554 "parse.y"
  7158. { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  7159.     break;}
  7160. case 678:
  7161. #line 3556 "parse.y"
  7162. { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
  7163.     break;}
  7164. case 679:
  7165. #line 3558 "parse.y"
  7166. { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  7167.     break;}
  7168. case 680:
  7169. #line 3560 "parse.y"
  7170. { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
  7171.     break;}
  7172. case 682:
  7173. #line 3566 "parse.y"
  7174. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  7175.     break;}
  7176. case 683:
  7177. #line 3589 "parse.y"
  7178. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  7179.     break;}
  7180. case 684:
  7181. #line 3591 "parse.y"
  7182. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  7183.     break;}
  7184. case 685:
  7185. #line 3593 "parse.y"
  7186. { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  7187.     break;}
  7188. case 686:
  7189. #line 3595 "parse.y"
  7190. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  7191.     break;}
  7192. case 687:
  7193. #line 3597 "parse.y"
  7194. { yyval.ttype = build_tree_list (yyval.ttype, NULL_TREE); ;
  7195.     break;}
  7196. case 688:
  7197. #line 3599 "parse.y"
  7198. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  7199.     break;}
  7200. case 691:
  7201. #line 3608 "parse.y"
  7202. { see_typename (); ;
  7203.     break;}
  7204. case 692:
  7205. #line 3631 "parse.y"
  7206. {
  7207.           warning ("type specifier omitted for parameter");
  7208.           yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-1].ttype)), NULL_TREE);
  7209.         ;
  7210.     break;}
  7211. case 693:
  7212. #line 3636 "parse.y"
  7213. {
  7214.           warning ("type specifier omitted for parameter");
  7215.           yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
  7216.         ;
  7217.     break;}
  7218. case 694:
  7219. #line 3644 "parse.y"
  7220. { yyval.ttype = NULL_TREE; ;
  7221.     break;}
  7222. case 695:
  7223. #line 3646 "parse.y"
  7224. { yyval.ttype = yyvsp[-1].ttype; ;
  7225.     break;}
  7226. case 696:
  7227. #line 3651 "parse.y"
  7228. { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  7229.     break;}
  7230. case 698:
  7231. #line 3657 "parse.y"
  7232. {
  7233.           TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
  7234.           yyval.ttype = yyvsp[0].ttype;
  7235.         ;
  7236.     break;}
  7237. case 699:
  7238. #line 3665 "parse.y"
  7239. { yyval.ttype = NULL_TREE; ;
  7240.     break;}
  7241. case 700:
  7242. #line 3667 "parse.y"
  7243. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7244.     break;}
  7245. case 701:
  7246. #line 3669 "parse.y"
  7247. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7248.     break;}
  7249. case 702:
  7250. #line 3671 "parse.y"
  7251. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  7252.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  7253.         ;
  7254.     break;}
  7255. case 703:
  7256. #line 3677 "parse.y"
  7257. { got_scope = NULL_TREE; ;
  7258.     break;}
  7259. case 704:
  7260. #line 3682 "parse.y"
  7261. { yyval.ttype = ansi_opname[MULT_EXPR]; ;
  7262.     break;}
  7263. case 705:
  7264. #line 3684 "parse.y"
  7265. { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
  7266.     break;}
  7267. case 706:
  7268. #line 3686 "parse.y"
  7269. { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
  7270.     break;}
  7271. case 707:
  7272. #line 3688 "parse.y"
  7273. { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
  7274.     break;}
  7275. case 708:
  7276. #line 3690 "parse.y"
  7277. { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
  7278.     break;}
  7279. case 709:
  7280. #line 3692 "parse.y"
  7281. { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
  7282.     break;}
  7283. case 710:
  7284. #line 3694 "parse.y"
  7285. { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
  7286.     break;}
  7287. case 711:
  7288. #line 3696 "parse.y"
  7289. { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
  7290.     break;}
  7291. case 712:
  7292. #line 3698 "parse.y"
  7293. { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
  7294.     break;}
  7295. case 713:
  7296. #line 3700 "parse.y"
  7297. { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
  7298.     break;}
  7299. case 714:
  7300. #line 3702 "parse.y"
  7301. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7302.     break;}
  7303. case 715:
  7304. #line 3704 "parse.y"
  7305. { yyval.ttype = ansi_opname[LT_EXPR]; ;
  7306.     break;}
  7307. case 716:
  7308. #line 3706 "parse.y"
  7309. { yyval.ttype = ansi_opname[GT_EXPR]; ;
  7310.     break;}
  7311. case 717:
  7312. #line 3708 "parse.y"
  7313. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7314.     break;}
  7315. case 718:
  7316. #line 3710 "parse.y"
  7317. { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
  7318.     break;}
  7319. case 719:
  7320. #line 3712 "parse.y"
  7321. { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
  7322.     break;}
  7323. case 720:
  7324. #line 3714 "parse.y"
  7325. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7326.     break;}
  7327. case 721:
  7328. #line 3716 "parse.y"
  7329. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7330.     break;}
  7331. case 722:
  7332. #line 3718 "parse.y"
  7333. { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
  7334.     break;}
  7335. case 723:
  7336. #line 3720 "parse.y"
  7337. { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
  7338.     break;}
  7339. case 724:
  7340. #line 3722 "parse.y"
  7341. { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
  7342.     break;}
  7343. case 725:
  7344. #line 3724 "parse.y"
  7345. { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
  7346.     break;}
  7347. case 726:
  7348. #line 3726 "parse.y"
  7349. { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
  7350.     break;}
  7351. case 727:
  7352. #line 3728 "parse.y"
  7353. { yyval.ttype = ansi_opname[COND_EXPR]; ;
  7354.     break;}
  7355. case 728:
  7356. #line 3730 "parse.y"
  7357. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7358.     break;}
  7359. case 729:
  7360. #line 3732 "parse.y"
  7361. { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
  7362.     break;}
  7363. case 730:
  7364. #line 3734 "parse.y"
  7365. { yyval.ttype = ansi_opname[MEMBER_REF]; ;
  7366.     break;}
  7367. case 731:
  7368. #line 3736 "parse.y"
  7369. { yyval.ttype = ansi_opname[CALL_EXPR]; ;
  7370.     break;}
  7371. case 732:
  7372. #line 3738 "parse.y"
  7373. { yyval.ttype = ansi_opname[ARRAY_REF]; ;
  7374.     break;}
  7375. case 733:
  7376. #line 3740 "parse.y"
  7377. { yyval.ttype = ansi_opname[NEW_EXPR]; ;
  7378.     break;}
  7379. case 734:
  7380. #line 3742 "parse.y"
  7381. { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
  7382.     break;}
  7383. case 735:
  7384. #line 3744 "parse.y"
  7385. { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
  7386.     break;}
  7387. case 736:
  7388. #line 3746 "parse.y"
  7389. { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
  7390.     break;}
  7391. case 737:
  7392. #line 3749 "parse.y"
  7393. { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7394.     break;}
  7395. case 738:
  7396. #line 3751 "parse.y"
  7397. { yyval.ttype = ansi_opname[ERROR_MARK]; ;
  7398.     break;}
  7399. }
  7400.    /* the action file gets copied in in place of this dollarsign */
  7401. #line 480 "/usr/local/lib/bison.simple"
  7402.  
  7403.   yyvsp -= yylen;
  7404.   yyssp -= yylen;
  7405. #ifdef YYLSP_NEEDED
  7406.   yylsp -= yylen;
  7407. #endif
  7408.  
  7409. #if YYDEBUG != 0
  7410.   if (yydebug)
  7411.     {
  7412.       short *ssp1 = yyss - 1;
  7413.       fprintf (stderr, "state stack now");
  7414.       while (ssp1 != yyssp)
  7415.     fprintf (stderr, " %d", *++ssp1);
  7416.       fprintf (stderr, "\n");
  7417.     }
  7418. #endif
  7419.  
  7420.   *++yyvsp = yyval;
  7421.  
  7422. #ifdef YYLSP_NEEDED
  7423.   yylsp++;
  7424.   if (yylen == 0)
  7425.     {
  7426.       yylsp->first_line = yylloc.first_line;
  7427.       yylsp->first_column = yylloc.first_column;
  7428.       yylsp->last_line = (yylsp-1)->last_line;
  7429.       yylsp->last_column = (yylsp-1)->last_column;
  7430.       yylsp->text = 0;
  7431.     }
  7432.   else
  7433.     {
  7434.       yylsp->last_line = (yylsp+yylen-1)->last_line;
  7435.       yylsp->last_column = (yylsp+yylen-1)->last_column;
  7436.     }
  7437. #endif
  7438.  
  7439.   /* Now "shift" the result of the reduction.
  7440.      Determine what state that goes to,
  7441.      based on the state we popped back to
  7442.      and the rule number reduced by.  */
  7443.  
  7444.   yyn = yyr1[yyn];
  7445.  
  7446.   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
  7447.   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
  7448.     yystate = yytable[yystate];
  7449.   else
  7450.     yystate = yydefgoto[yyn - YYNTBASE];
  7451.  
  7452.   goto yynewstate;
  7453.  
  7454. yyerrlab:   /* here on detecting error */
  7455.  
  7456.   if (! yyerrstatus)
  7457.     /* If not already recovering from an error, report this error.  */
  7458.     {
  7459.       ++yynerrs;
  7460.  
  7461. #ifdef YYERROR_VERBOSE
  7462.       yyn = yypact[yystate];
  7463.  
  7464.       if (yyn > YYFLAG && yyn < YYLAST)
  7465.     {
  7466.       int size = 0;
  7467.       char *msg;
  7468.       int x, count;
  7469.  
  7470.       count = 0;
  7471.       /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
  7472.       for (x = (yyn < 0 ? -yyn : 0);
  7473.            x < (sizeof(yytname) / sizeof(char *)); x++)
  7474.         if (yycheck[x + yyn] == x)
  7475.           size += strlen(yytname[x]) + 15, count++;
  7476.       msg = (char *) malloc(size + 15);
  7477.       if (msg != 0)
  7478.         {
  7479.           strcpy(msg, "parse error");
  7480.  
  7481.           if (count < 5)
  7482.         {
  7483.           count = 0;
  7484.           for (x = (yyn < 0 ? -yyn : 0);
  7485.                x < (sizeof(yytname) / sizeof(char *)); x++)
  7486.             if (yycheck[x + yyn] == x)
  7487.               {
  7488.             strcat(msg, count == 0 ? ", expecting `" : " or `");
  7489.             strcat(msg, yytname[x]);
  7490.             strcat(msg, "'");
  7491.             count++;
  7492.               }
  7493.         }
  7494.           yyerror(msg);
  7495.           free(msg);
  7496.         }
  7497.       else
  7498.         yyerror ("parse error; also virtual memory exceeded");
  7499.     }
  7500.       else
  7501. #endif /* YYERROR_VERBOSE */
  7502.     yyerror("parse error");
  7503.     }
  7504.  
  7505.   goto yyerrlab1;
  7506. yyerrlab1:   /* here on error raised explicitly by an action */
  7507.  
  7508.   if (yyerrstatus == 3)
  7509.     {
  7510.       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
  7511.  
  7512.       /* return failure if at end of input */
  7513.       if (yychar == YYEOF)
  7514.     YYABORT;
  7515.  
  7516. #if YYDEBUG != 0
  7517.       if (yydebug)
  7518.     fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
  7519. #endif
  7520.  
  7521.       yychar = YYEMPTY;
  7522.     }
  7523.  
  7524.   /* Else will try to reuse lookahead token
  7525.      after shifting the error token.  */
  7526.  
  7527.   yyerrstatus = 3;        /* Each real token shifted decrements this */
  7528.  
  7529.   goto yyerrhandle;
  7530.  
  7531. yyerrdefault:  /* current state does not do anything special for the error token. */
  7532.  
  7533. #if 0
  7534.   /* This is wrong; only states that explicitly want error tokens
  7535.      should shift them.  */
  7536.   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
  7537.   if (yyn) goto yydefault;
  7538. #endif
  7539.  
  7540. yyerrpop:   /* pop the current state because it cannot handle the error token */
  7541.  
  7542.   if (yyssp == yyss) YYABORT;
  7543.   yyvsp--;
  7544.   yystate = *--yyssp;
  7545. #ifdef YYLSP_NEEDED
  7546.   yylsp--;
  7547. #endif
  7548.  
  7549. #if YYDEBUG != 0
  7550.   if (yydebug)
  7551.     {
  7552.       short *ssp1 = yyss - 1;
  7553.       fprintf (stderr, "Error: state stack now");
  7554.       while (ssp1 != yyssp)
  7555.     fprintf (stderr, " %d", *++ssp1);
  7556.       fprintf (stderr, "\n");
  7557.     }
  7558. #endif
  7559.  
  7560. yyerrhandle:
  7561.  
  7562.   yyn = yypact[yystate];
  7563.   if (yyn == YYFLAG)
  7564.     goto yyerrdefault;
  7565.  
  7566.   yyn += YYTERROR;
  7567.   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
  7568.     goto yyerrdefault;
  7569.  
  7570.   yyn = yytable[yyn];
  7571.   if (yyn < 0)
  7572.     {
  7573.       if (yyn == YYFLAG)
  7574.     goto yyerrpop;
  7575.       yyn = -yyn;
  7576.       goto yyreduce;
  7577.     }
  7578.   else if (yyn == 0)
  7579.     goto yyerrpop;
  7580.  
  7581.   if (yyn == YYFINAL)
  7582.     YYACCEPT;
  7583.  
  7584. #if YYDEBUG != 0
  7585.   if (yydebug)
  7586.     fprintf(stderr, "Shifting error token, ");
  7587. #endif
  7588.  
  7589.   *++yyvsp = yylval;
  7590. #ifdef YYLSP_NEEDED
  7591.   *++yylsp = yylloc;
  7592. #endif
  7593.  
  7594.   yystate = yyn;
  7595.   goto yynewstate;
  7596. }
  7597. #line 3754 "parse.y"
  7598.  
  7599.